我有一个Spring项目,它依赖于第三方库。这个库使用SLF4J和Log4j2进行日志记录,并有一个log4j2.xml,其中定义了模式布局。
问题是,这个依赖项的模式布局被用作我的应用程序的模式,而忽略了application.properties中定义的布局。
如果我不能修改这个第三方库的源代码,是否可以配置我的应用程序以忽略log4j2.xml?
发布于 2017-09-30 12:24:36
您可以尝试的一种解决方案是定义自己的log4j2配置文件,并在log4j.configurationFile系统属性中给出它的路径。当您定义您自己的log4j2配置文件时,您可以控制您想要的日志记录数量以及所使用的模式。
这背后的原因是-当Log4j启动时,它试图定位所有的ConfigurationFactory插件,并将它们按加权顺序排列,从最高到最低的。根据log4j2自动化配置,设置系统属性log4j.configurationFile具有最高的权重。
如果log4j将使用此系统属性找到配置文件,那么它将不会扫描类路径以查找您的依赖库中存在的log4j2.xml文件。
https://stackoverflow.com/questions/46495669
复制相似问题