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


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

    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. 日志输出的注意点

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

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





  • 相关阅读:
    剑指Offer-49.把字符串转换成整数(C++/Java)
    codeforces Gym 100338H High Speed Trains (递推,高精度)
    codeforces Gym 100338E Numbers (贪心,实现)
    codeforces Gym 100338C Important Roads (重建最短路图)
    HDU 4347 The Closest M Points (kdTree)
    UVA 10817
    HDU 4348 I
    HDU 4341 Gold miner (分组背包)
    UVA 1218
    UVA 1220 Party at Hali-Bula (树形DP)
  • 原文地址:https://www.cnblogs.com/archy2016/p/80b732653edefe81c72d7890a0d892c3.html
Copyright © 2020-2023  润新知