以前,调整一个项目,以优化,修改原始项目中的记录返还到log4j2,在线查找各种材料,官方文档,遇到很多坑,最后实现修改。在这一点上,这是一个特殊的记录。
  Springboot官方文件:
https://docs.spring.io/spring-boot/docs/1.5.19.release/referene/htmlsingle/#howto-formicure- configure- log4j- log4j- logging
  一个干净的项目,如果要使用log4j2,可以使用以下方法引入依赖项:
  因为在旧项目中,日志依赖性混合在一起,并且在项目中引入了依赖项:
  摘要:项目中的日志依赖项,否则将导致日志在控制台中打印,但不会输出到文件中。
参考(官方)文件:
https://www.docs4dev.com/docs/zh/log4j2/2.x/all/manual-configuration.html
https://docs.spring.io/spring-boot/docs/2.0.x/reference/htmlsingle/#boot- trauntion-custom-log-configuration
  在项目资源目录中,创建一个新的log4j2.xml或log4j2-spring.xml.t建议使用log4j2-spring.xml,否则您需要配置logging.config = configuration.config =您的配置文件名称in Application.properties或.yml。
  XML模板在线找到:
3.1日志级别&EMSP;&emsp;在log4j2中,有8个级别,根据低到高:所有<trace <info <warn <error <fatal <quf。
&emsp;&emsp;春季环境的建议:logging.config。它不提供log4j2-spring的属性。我们需要通过MDC获得.properties中的属性。
4.1写一个监视器类
4.2在应用程序启动类中添加自定义的start -up monitor applicationstarteventListener
4.3使用log4j2.xml&emsp中MDC定义的属性;&emsp;如何使用$ {CTX:key}
&emsp;&emsp;参考文档;http://logging.apache.org/log4j/2.x/async.html#allasync
5.1令所有日志输出&EMSP;&emsp;JVM启动参数增加:
&emsp;&emsp;log4j2配置文件不需要更改
5.2同步和异步混合使用&EMSP;&emsp;无需在5.1中添加JVM启动参数。
&emsp;&emsp;官方网站的配置文件
&emsp;&emsp;当之前配置了Log4j2.xml时,未设置Asynclogger和根级别。这次,Asynclogger的类(名称=“ class/castex”)在没有打印到控制台的情况下设置了,也不会输出到文件。在检查了Asynclogger的注释后,它返回正常,因此暂时使用了完整的异步输出日志。
&emsp;&emsp;创建一个仅针对日志测试,移植上一个配置的新模块,并发现在Asynclogger注释后,控制台仅输出错误级别日志(只有三个级别的信息,警告和错误)。缺乏logging.level.root = info(在这里要在此处挖一个坑。目前,控制台可以全部输出,添加Asynclogger并设置级别=“ info”以解决问题。
&emsp;&emsp;摘要:缺少异步的级别(当前测试默认值为错误).additivity =“ true”(此时也可以输出控制台)。
&emsp;&emsp;附加坑过程代码;
原始:https://juejin.cn/post/7094912471542169614