我的log4j.xml
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd" >
<log4j:configuration>
<appender name="fileAppender1" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="ALL" />
<param name="MaxFileSize" value="3KB" />
<param name="MaxBackupIndex" value="10" />
<param name="File" value="F:/logs/Testing/Project_moduleOne.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM-dd-yyyy HH:mm:ss:SSS} %-5p %m%n" />
</layout>
</appender>
<appender name="fileAppender2" class="org.apache.log4j.RollingFileAppender">
<param name="Threshold" value="ALL" />
<param name="MaxFileSize" value="3KB" />
<param name="MaxBackupIndex" value="10" />
<param name="File" value="F:/logs/PAD_Testing/Project_moduleTwo.log" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{MMM-dd-yyyy HH:mm:ss:SSS} %-5p %m%n" />
</layout>
</appender>
<!--sets the priority log level for org.springframework -->
<logger name="com.comp.logger1">
<appender ref="fileAppender1"/>
</logger>
<logger name="com.comp.logger2">
<appender ref="fileAppender2" />
</logger>
<!--sets the default priority log level -->
<root>
<priority value="all"></priority>
<appender-ref ref="fileAppender1" />
<appender-ref ref="fileAppender2" />
</root>
</log4j:configuration>
在指定位置还创建了两个日志文件。
我需要知道如何在JAVA
类中独立地记录这两个不同的数据到这两个不同的日志文件中。
例如,
Logger logOne = Logger.getLogger("com.comp.logger1");
Logger logTwo = Logger.getLogger("com.comp.logger2");
上述代码对我来说不起作用。所有的日志信息都记录在创建的两个日志文件中。我需要分离日志数据。
我的需求是:
1. 我想创建两个日志文件。因为我的项目有两个模块,需要将每个模块的日志记录在不同的日志文件中。 2. 然后,我必须独立地记录每个模块的日志数据。 3. 请确保我在java类中正确使用了记录器名称。
非常感谢任何使用log4j.xml的新或完整示例。
编辑:
如果我在记录器中添加additivity="false",则如下:
<logger name="com.comp.logger1" additivity="false">
<appender ref="fileAppender1" />
</logger>
<logger name="com.comp.logger2" additivity="false">
<appender ref="fileAppender2" />
</logger>
日志数据没有记录在创建的日志文件中。日志文件为空。
请确保我的<root>...</root>
是正确的。
<level value="TRACE" />
。 - stripybadgercom.comp.logger1
和com.comp.logger2
。你没有为任何名称
指定一个日志记录器。因此,log4j 将使用根日志记录器。由于你的根日志记录器记录到两个附加器中,所以日志将显示在两个文件中。如果你不想这样,就改变你的根日志记录器。 - stripybadger