Android支持各种日志级别,详细,调试,信息,警告和错误。我了解日志记录级别的工作原理;我对给定级别的预期典型输出更感兴趣。
例如,在开发应用程序时,我可能会对某种方法做某事感到好奇(这通常用于调试目的)。我将查看日志以确保按预期顺序调用方法,如果网络响应是我认为应该是,如果解析器找到正确的信息等等。
为什么有人会使用Verbose vs Debug vs Info?
从开发人员的角度来看,对于第一方,第二方或第三方应用程序,并非所有日志都用于调试目的? (假设开发人员不盯着日志寻找乐趣......我不是那么悲伤)
从消费者的角度来看,当s ***击中粉丝并且他们需要联系客户支持因为他们的超级重要/关键业务应用程序不起作用时,开发人员使用日志进行调试。
我可以看到使用详细信息或信息的唯一原因可能是度量收集/数据仓库相关操作。如果是这样,为什么要使用verbose vs info。
不确定如果我过于复杂,或者android框架是......
答案 0 :(得分:14)
在考虑记录级别时,我基本上遵循了Tomasz Nurkiewicz has to say:
错误 - 发生了一些非常错误的事情,必须立即进行调查。没有系统可以容忍此级别上记录的项目。示例:NPE,数据库不可用,关键任务用例无法继续。
警告 - 此过程可能会继续,但要格外小心。示例:“在开发模式下运行的应用程序”或“管理控制台未使用密码保护”。应用程序可以容忍警告消息,但应始终对其进行验证和检查。
信息 - 重要的业务流程已经完成。在理想的世界中,管理员或高级用户应该能够理解INFO消息并快速找出应用程序正在做什么。例如,如果一个应用程序都是关于预订机票,那么每张机票应该只有一个INFO声明说“[谁]从[Where]到[Where]预订机票”。 INFO消息的其他定义:每个动作都会显着改变应用程序的状态(数据库更新,外部系统请求)。
DEBUG - 开发人员的东西。
VERBOSE - 非常详细的信息,仅用于开发。在生产环境中部署之后,您可能会在短时间内保留跟踪消息,但将这些日志语句视为临时的,最终应该或可能会被关闭。 DEBUG和VERBOSE之间的区别是最困难的,但是如果您在开发和测试功能之后放置了日志语句并将其删除,那么它应该处于VERBOSE级别。
我最喜欢的等级是WTF(2.2+),它应该代表"多么糟糕的失败",适用于永远不会发生的情况。
我通常使用" info"对于简单的消息。