Android日志级别

Android支持各种日志级别,详细,debugging,信息,警告和错误。 我明白日志级别是如何工作的; 我对一个给定水平的预期产出更感兴趣。

例如,当开发一个应用程序时,我可能会对某个方法正在做某事感到好奇(这往往是出于debugging的目的)。 我会查看日志,以确保按预期的顺序调用方法,如果networking响应是我认为应该的,如果parsing器find正确的信息等。

为什么会有人使用详细与debugging与信息?

从开发人员的angular度来看,对于第一,第二或第三方应用程序来说,并不是所有的日志都是为了debugging的目的? (假设开发者不盯着日志的乐趣…我不是虐待)

从消费者的angular度来看,当s ***碰到粉丝,他们需要联系客户支持,因为他们的超级重要/业务关键应用程序不工作,开发人员使用日志进行debugging。

我可以看到使用详细信息或信息的唯一原因可能是度量收集/数据仓库相关的操作。 如果是这样,为什么使用详细与信息。

不知道如果我是过度复杂,或者如果Android框架是…

Solutions Collecting From Web of "Android日志级别"

我基本上遵循什么Tomasz Nurkiewicz在考虑日志级别时要说的 :


错误 – 发生了非常严重的错误,必须立即进行调查。 没有系统可以容忍在这个级别login的项目。 例如:NPE,数据库不可用,任务关键用例不能继续。

警告 – 这个过程可能会继续,但要格外小心。 示例:“以开发模式运行的应用程序”或“pipe理控制台未使用密码保护”。 应用程序可以容忍警告消息,但是应该始终对其进行合理的检查。

信息 – 重要的业务stream程已经完成。 理想情况下,pipe理员或高级用户应该能够理解INFO消息并快速找出应用程序正在做什么。 例如,如果一个应用程序全是关于预订机票的,那么每张机票应该只有一条INFO声明,说明“谁从[从哪里]到哪里预订机票」。 INFO消息的其他定义:显着更改应用程序状态的每个操作(数据库更新,外部系统请求)。

debugging – 开发人员的东西。

VERBOSE – 非常详细的信息,仅用于开发。 在生产环境中进行部署后,您可能会在短时间内保留跟踪消息,但将这些日志语句视为临时的,最终应该或可能会被closures。 DEBUG和VERBOSE之间的区别是最困难的,但是如果您在开发和testingfunction之后放置了日志语句并将其删除,则应该在VERBOSE级别上。


我最喜欢的级别是WTF(2.2+),它应该代表“多么可怕的失败”,对于那些永远不会发生的情况。

我通常使用“信息”简单的消息。