【发布时间】:2011-09-15 14:42:19
【问题描述】:
在一个外部文件中,我想将我的 com.foo.test 类的输出记录到一个特定的文件中,但是发生的事情是它附加了控制台日志和文件日志。下面是我的xml配置,
<appender name="FILE" class="org.jboss.logging.appender.DailyRollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.log.dir}/server.log"/>
<param name="Append" value="false"/>
<param name="DatePattern" value="'.'yyyy-MM-dd"/>
<layout class="org.apache.log4j.PatternLayout">
</layout>
</appender>
<appender name="CONSOLE" class="org.apache.log4j.ConsoleAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<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{1}] %m%n"/>
</layout>
</appender>
<appender name="MYTESTAPPENDER" class="org.jboss.logging.appender.RollingFileAppender">
<errorHandler class="org.jboss.logging.util.OnlyOnceErrorHandler"/>
<param name="File" value="${jboss.server.home.dir}/log/mytest.log"/>
<param name="Append" value="false"/>
<param name="MaxFileSize" value="3MB"/>
<param name="MaxBackupIndex" value="3"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %-5p [%c] %m%n"/>
</layout>
</appender>
<logger name="testsplitlogger" additivity="false">
<level value="info"/>
<appender-ref ref="MYTESTAPPENDER"/>
</logger>
<root>
<appender-ref ref="CONSOLE"/>
<appender-ref ref="FILE"/>
<appender-ref ref="MYTESTAPPENDER"/>
</root>
我的 Java 代码是,
private static final Logger logger = Logger.getLogger("testsplitlogger");
更新: 问题是它将所有控制台输出和其他附加程序输出记录到 mytest.log 文件,而不是我只想将来自我的 testsplitlogger 的特定类的信息消息附加到控制台和文件中的其他日志应该写入 server.log。
我做错了什么吗?
【问题讨论】: