问题示例图:
问题描述:layout中格式中定义了相关类名, 但最终输出日志还是空类名, 由于类名和行数的缺失导致在排查异常问题时难以定位出错位置, 影响线下bug排查效率.
问题原因: logger配置中有个参数includeLocation会控制是否输出类名信息, 由于这种位置信息的扫描有一定性能损耗, 线上环境会将includeLocation设置为false来关闭类信息的输出来避免日志对性能的影响.
参考: Log4j – Configuring Log4j 2
问题解决: includeLocation = true.