《关于日志记录的一些感想》摘记

关于日志记录的一些感想—-原文地址

1.讲到了Java 中众多的开源日志框架,重点讲到了我现阶段也感兴趣和接触过的 SLF4J

SLF4J 不包含日志的实现,但是提供了众多的适配器来适配其他所有的开源日志框架,这样,在开发中我们只需要在代码中面对它的 API 即可,实现任意的切换。

好处(我们的项目往往会依赖很多的第三方开源框架,而这些开源框架有可能都采用不同的日志框架,不同的日志框架需要的配置也是不同的,不同的配置会导致日志输出到不同的位置,这样便不方便我们后续的日志收集和整理。SLF4J可以帮我们统一配置这些第三方库中使用的日志)
其中提到 logback 的实现很好,便以它作为日志的实现。

2. 讲到了日志的隔离级别 (TRACE, DEBUG, INFO, WARN, ERROR, FATAL)

以下讲到的将会是作者的使用习惯和经验:

  • TRACE
    作者会用来记录业务日志
  • WARN
    一般在出现了一场,但是又在业务的合理范围之内的会使用 warn
  • INFO
    一般非常重要的日志,关键系统参数的回显、后台服务的初始化状态、需要开发者确认的信息会使用INFO
  • DEBUG
    详细的记录流程的关键路径,这种级别的日志是为了方便我们开发和调试系统功能的,在生产环境默认是关闭的。
  • ERROR
    系统出现异常情况的时候
  • FATAL
    作者没有用过,用 ERROR 代替

3.日志的格式和分类

统一定义日志文件的名称,日志内容的格式,可以极大得方便后续日志的手机和解析工作。

  • 指导原则
    • INFO 及以上的系统日志统一输出到 Console
    • 业务日志、系统日志、异常日志分别输出到不同的文件中,更加方便异常问题的排查

4. 日志输出的注意点

  • 发生时间
  • 出现问题的线程
  • 日志级别
  • 出现问题的类文件,类的哪一行,异常线
  • 程序入参
  • 相应的程序员的注释等

关于日志,还是需要多实践总结





原文地址:https://www.cnblogs.com/archy2016/p/80b732653edefe81c72d7890a0d892c3.html