美文网首页
Java中日志打印的方式

Java中日志打印的方式

作者: 我菠菜今天就是要为所欲为 | 来源:发表于2020-10-05 01:05 被阅读0次

    使用slf4j

    • 使用门面模式的日志框架,有利于项目的维护和各个类的日志处理方式的统一。
    • 实现方式统一使用logback或者log4j2框架。

    什么时候应该打印日志

    • 需要debug确定问题的时候,应该考虑打印日志,通过日志进行问题定位。
    • 当碰到if…else或switch这样的分支时,需要在首行打印日志,用来确定进入了哪个分支。
    • 需要通过日志看到整个功能流程时。

    日志的格式

    • 使用参数化信息的方式:
    logger.debug("Processing trade with id:[{}] and symbol:[{}]",id,symbol);
    
    • 不要使用字符串拼接的方式,那样会产生很多String对象
    • 使用[]进行参数隔离
    • 如果有异常信息,需要记录完整的堆栈信息

    日志的级别

    Error:影响到程序正常运行的异常情况

    • 如果进行了抛异常的操作,不要记录日志,应由最终的调用方处理。

    Warn:不应该出现但是不影响程序的异常情况

    • 有容错机制时出现的错误
    • 找不到配置文件但系统可以自动配置
    • 系统性能达到临界值
    • 接口抛出业务异常时

    Info:系统的运行时信息

    • 系统状态的变更
    • 主要逻辑中的步骤
    • 客户端请求的参数
    • 调用的结果
    • 简单的Service只需要在出入口记录
    • 复杂的程序逻辑需要记录
    • 整个系统的接口需要记录入参
    • 调用外部接口时要记录入参和出参

    Debug

    • 记录所有想知道的信息
    • 生产环境需要关闭debug级别的日志
    • 如果生产环境需要开启debug级别的日志,请使用开关进行开启,不要一直开启

    相关文章

      网友评论

          本文标题:Java中日志打印的方式

          本文链接:https://www.haomeiwen.com/subject/xerwuktx.html