我正在使用log4j2版本2.3。
我的Tomcat Webapp中的Logger de.ulrich
正在登录DEBUG级别,尽管我配置了级别INFO(见下文)。为什么呢?
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Filters>
<!-- onMatch="DENY" es wird nicht geloggt, onMatch="ACCEPT" es wird geloggt -->
<MarkerFilter marker="HTTP_HEADER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="XML_FILTER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="FLOW" onMatch="ACCEPT" onMismatch="NEUTRAL"/>
</Filters>
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
</Console>
<RollingFile name="dmFileAppender" fileName="logs/doorman.log"
filePattern="logs/doorman-%i.log">
<PatternLayout>
<!--<pattern>%d{HH:mm:ss.SSS} [%t] %X{id} %X{username} %-5level %c{36} %l: %msg%n</pattern>-->
<pattern>%d{yyyyMMdd-HHmmss} %-5level [%t] %msg%n</pattern>
</PatternLayout>
<Policies>
<SizeBasedTriggeringPolicy size="2 MB"/>
</Policies>
<DefaultRolloverStrategy min="1" max="5"/>
</RollingFile>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<Logger name="de.ulrich" level="INFO" additivity="false">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console" />
</Logger>
<Logger name="org.apache.http.impl.conn" level="error">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.apache.http.impl.client" level="error">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console"/>
</Logger>
<Logger name="org.apache.http.client" level="error">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console"/>
</Logger>
</Loggers>
</Configuration>
其他信息
这是log4j2.xml的路径:
.../webapp/myApp/WEB-INF/classes
我确信log4j可以找到此文件,因为它使用了有关RollingFile
的所有设置。
答案 0 :(得分:0)
我在Filters
元素中移动了Logger
元素,现在我得到了预期的日志输出。
片段:
<Loggers>
<Root level="warn">
<AppenderRef ref="Console"/>
</Root>
<Logger name="de.lgn" level="${lgnDefaultLogLevel}" additivity="false">
<AppenderRef ref="dmFileAppender"/>
<AppenderRef ref="Console" />
<Filters>
<!-- onMatch="DENY" es wird nicht geloggt, onMatch="ACCEPT" es wird geloggt -->
<MarkerFilter marker="HTTP_HEADER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="XML_FILTER" onMatch="DENY" onMismatch="NEUTRAL"/>
<MarkerFilter marker="FLOW" onMatch="DENY" onMismatch="NEUTRAL"/>
</Filters>
</Logger>
...
...
</Loggers>
谢谢。