Android日志级别

时间:2014-08-23 02:20:17

标签: android logging

Android支持各种日志级别,详细,调试,信息,警告和错误。我了解日志记录级别的工作原理;我对给定级别的预期典型输出更感兴趣。

例如,在开发应用程序时,我可能会对某种方法做某事感到好奇(这通常用于调试目的)。我将查看日志以确保按预期顺序调用方法,如果网络响应是我认为应该是,如果解析器找到正确的信息等等。

为什么有人会使用Verbose vs Debug vs Info?

从开发人员的角度来看,对于第一方,第二方或第三方应用程序,并非所有日志都用于调试目的? (假设开发人员不盯着日志寻找乐趣......我不是那么悲伤)

从消费者的角度来看,当s ***击中粉丝并且他们需要联系客户支持因为他们的超级重要/关键业务应用程序不起作用时,开发人员使用日志进行调试。

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

不确定如果我过于复杂,或者android框架是......

1 个答案:

答案 0 :(得分:14)

在考虑记录级别时,我基本上遵循了Tomasz Nurkiewicz has to say


错误 - 发生了一些非常错误的事情,必须立即进行调查。没有系统可以容忍此级别上记录的项目。示例:NPE,数据库不可用,关键任务用例无法继续。

警告 - 此过程可能会继续,但要格外小心。示例:“在开发模式下运行的应用程序”或“管理控制台未使用密码保护”。应用程序可以容忍警告消息,但应始终对其进行验证和检查。

信息 - 重要的业务流程已经完成。在理想的世界中,管理员或高级用户应该能够理解INFO消息并快速找出应用程序正在做什么。例如,如果一个应用程序都是关于预订机票,那么每张机票应该只有一个INFO声明说“[谁]从[Where]到[Where]预订机票”。 INFO消息的其他定义:每个动作都会显着改变应用程序的状态(数据库更新,外部系统请求)。

DEBUG - 开发人员的东西。

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


我最喜欢的等级是WTF(2.2+),它应该代表"多么糟糕的失败",适用于永远不会发生的情况。

我通常使用" info"对于简单的消息。