这可能是一个纯粹主观的问题(如果没有组织试图标准化这个问题),但我的团队在这个问题上的挣扎比你想象的要多。
我们使用 Apache Commons Logging 作为日志记录接口,并且我们的开发团队中优先级的使用通常不一致。例如,一些开发人员将任何捕获的异常记录为 fatal (log.fatal(message)),即使流程能够处理错误,而其他开发人员仅在某些情况导致程序因某种原因而必须停止执行时才记录为 fatal。
我想知道其他团队如何定义每个优先级。是否有人在一家明确尝试为此定义最佳实践的公司工作?雅加达是否对此进行了权衡?
我的目标是向我的整个团队发送针对每个优先级的简单建议,以便我们能够以一致的方式更有效地处理笨重的应用程序日志记录。
这是我们使用的(我也会说很多其他的):
- 致命:危及系统一致性的错误,可能需要立即关闭/重新启动 - 很少手动使用
- 错误:不应该抛出的异常,代表系统中的错误(通常是所有未捕获到某个点的异常)
- 警告:可能发生但已被考虑的异常或可能暗示逻辑/使用错误的情况 - 我们决定是否跟踪这些情况
- 信息:日志中需要包含的任何内容,例如用户当前在做什么(在我们的 Web 应用程序中:用户正在导航到哪个页面等)
- DEBUG:仅调试计时等消息,通常在日志中关闭
- TRACE:我们不使用它,您可以使用它来获取更具体的调试信息
在某些情况下,我们首先将消息记录为错误,以便在发生我们通常不希望发生的事情时收到通知。稍后,如果我们确定无法删除该错误的来源,我们会对其进行处理并将日志级别更改为 WARN。
请注意,我们的测试和生产系统设置为发送有关致命和错误的电子邮件。因此,我们不必手动检查这些日志文件,而只需检查一封电子邮件收件箱。
希望有帮助。
编辑:你已经看过了吗Apache Commons 日志记录最佳实践 http://commons.apache.org/logging/guide.html?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)