【发布时间】:2014-01-17 06:19:50
【问题描述】:
我正在尝试设置 log4j2 xml 配置,但没有得到我想要的结果。我希望我的控制台获得级别信息及以上,滚动文件附加程序(标准)获得级别调试及以上。然后我想限制控制台附加程序中的 3 个类只接收警告及以上。但是,当我添加这些记录器条目时,我的标准附加程序也停止接收这 3 个类的信息和调试级别。我应该怎么做才能只限制控制台而不是标准?
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out"/>
<param name="threshold" value="info" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{ABSOLUTE} %-5p %c [%t] %X{ctx} ~ %m%n" />
</layout>
</appender>
<appender name="standard" class="org.apache.log4j.DailyRollingFileAppender">
<param name="file" value="logs/broadcast.log" />
<param name="DatePattern" value="'.'yyyy-MM-dd" />
<param name="threshold" value="debug" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %-5p %c{1} [%t] %X{ctx} ~ %m%n" />
</layout>
</appender>
<appender name="stderr" class="org.apache.log4j.FileAppender">
<param name="file" value="logs/broadcast.err" />
<param name="threshold" value="error" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{DATE} %-5p %c{1} [%t] %X{ctx} ~ %m%n" />
</layout>
</appender>
<appender name="jlv" class="org.apache.log4j.net.SocketAppender">
<param name="remoteHost" value="localhost"/>
<param name="port" value="4445"/>
<param name="locationInfo" value="true"/>
</appender>
<logger name="com.mydetv.broadcast.BroadcastLoop">
<level value="warn"/>
<appender-ref ref="console" />
</logger>
<logger name="com.mydetv.broadcast.BroadcastUpdate22">
<level value="warn"/>
<appender-ref ref="console" />
</logger>
<logger name="com.mydetv.broadcast.vlc.VlcRequest22">
<level value="warn"/>
<appender-ref ref="console" />
</logger>
<root>
<priority value ="debug" />
<appender-ref ref="standard" />
<appender-ref ref="stderr"/>
<appender-ref ref="console" />
<appender-ref ref="jlv"/>
</root>
</log4j:configuration>
【问题讨论】:
标签: java logging configuration log4j log4j2