日志等级
All:最低等级的,用于打开所有日志记录.
Trace:是追踪,就是程序推进一下.
Debug:用于调试或者开发阶段
Info:消息在粗粒度级别上突出强调应用程序的运行过程.
Warn:输出警告及warn以下级别的日志.
Error:输出错误信息日志.
Fatal:输出每个严重的错误事件将会导致应用程序的退出的日志.
OFF:最高等级的,用于关闭所有日志记录.
程序会打印高于或等于所设置级别的日志,设置的日志等级越高,打印出来的日志就越少
日志的默认等级是debug,如果想要看到更低级的日志,需要在配置文件中去修改
<!-- 日志输出级别 --> <property name="output_log_level">INFO</property>
------------------------------------------------------------------
生产问题:
之前公司项目出现宕机,排查后发现,有一天的交易数据量较大,导致执行自动任务时出现大量日志输出
排查步骤:
1.通过top -c 看哪个进程占用高CPU
2.通过top -HP PID 各个线程的CPU使用情况
3. jstack pid 查看当前java进程的堆栈状态
解决方案:
- 调整log4j2.xml文件,屏蔽不需要打印的日志,并且调整每行最多打印20000个字符(临时解决方案)
- 调整代码,将大对象日志输出调整日志级别为debug