我有一个webapp,它的WEB-INF文件夹下有自己的类,它使用log4j2进行日志记录。我使用log4j2-web配置它,可以看到这些类的日志。到目前为止一切都很好。
然而,我正在破坏我的大脑,从tomcat的公共 / 共享类路径中定义的libs(jars)中查看日志。我正在尝试使用一个jar(例如一个),使用log4j2 api进行日志记录。
请注意,只有当我将jar从公共类路径移动到webapp的WEB-INF下的lib文件夹时,它才会显示日志。这意味着配置文件适用于appender和logger名称......
我有什么遗漏或这是log4j2的工作原理吗? 我正在使用Tomcat 7 Log4j2 2.11.0
欢迎任何帮助!感谢。
(简化)log4j2.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<RollingFile name="sample.appender" fileName="server.log"
filePattern="server.log.%i.gz" bufferedIO="false" bufferSize="0">
<PatternLayout pattern="%d [%t] (%F:%L) %-5p - %m%n"/>
<Policies>
<SizeBasedTriggeringPolicy size="5242880"/>
</Policies>
<DefaultRolloverStrategy max="13"/>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="com.my.server" level="DEBUG" additivity="false">
<AppenderRef ref="sample.appender"/>
</Logger>
<Logger name="com.3rd.party.sample" level="DEBUG" additivity="false">
<AppenderRef ref="sample.appender"/>
</Logger>
<Root level="FATAL"/>
</Loggers>