1.开发中日志输出考虑问题
1.1)速度
1.2)丢失问题
1.3)内存影响
1.4)CPU影响
2.常用日志组件
2.1)Log4j/Log4j2 Apache 日志实现方案
2.2)logback Log4j创始人设计的日志实现方案
2.4)java.util.logging JDK自带
2.2)S4F4J Apache 日志门面接口可集成三方或者JDK自带日志组件
2.5)commons-logging Apache 日志门面接口可集成三方或者JDK自带日志组件
3.常见的组合
commons-logging + Log4j
S4F4J +logback springboot默认选用
性能:Log4j2 > logback > Log4j
如果使用logback框架,推荐使用异步输出日志方式
选择日志框架,推荐使用log4j2
4.日志级别
ALL:最低等级的,用于打开所有日志记录。
TRACE: 很低的日志级别,一般不会使用。
DEBUG: 指出细粒度信息事件,主要用于开发过程中打印一些运行信息。
INFO: 消息在粗粒度级别上突出强调应用程序的运行过程。可以用于生产环境中输出程序运行的一些重要信息,但是不能滥用,避免打印过多的日志。
WARN: 表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。
ERROR: 指出虽然发生错误事件,但仍然不影响系统的继续运行。打印错误和异常信息。
FATAL: 指出每个严重的错误事件将会导致应用程序的退出。这个级别比较高了。重大错误,这种级别你可以直接停止程序了。
OFF: 最高等级的,用于关闭所有日志记录。