我正在使用Log4j,我想从类Main写入日志文件, 问题是日志从其他类获取所有INFO日志 以及我想写入该文件的类。 例如:
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="fileAppenderMain1" class="org.apache.log4j.RollingFileAppender">
<param name="append" value="false" />
<param name="file" value="logs/main1/main1.log" />
<param name="MaxFileSize" value="10240KB" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d{dd MMM yyyy HH:mm:ss} %5p %c{1} - %m%n" />
</layout>
</appender>
<logger name="Main1.class" additivity="false">
<level value="INFO" />
<appender-ref ref="fileAppenderMain1" />
</logger>
<root>
<priority value="INFO"></priority>
<appender-ref ref="fileAppenderMain1"></appender-ref>
</root>
</log4j:configuration>
public class Main1 {
private static Logger log = Logger.getLogger(Main1.class);
public void log() {
log.info("Hello world");
}
}
public class Main2 {
private static Logger log = Logger.getLogger(Main2.class);
public void log() {
log.info("Hello world");
}
}
public class Main {
public static void main(String [] args) {
Main1 main1=new Main1();
Main2 main2=new Main2();
main1.log();
main2.log();
}
}
输出到文件:
12 May 2015 12:59:09 INFO Main1 - Hello world
12 May 2015 12:59:09 INFO Main2 - Hello world
我想只记录“Main1”日志
由于
答案 0 :(得分:0)
您也将根记录器设置为信息。
如果您想单独查看Main1的信息日志,并且其他信息来自警告及以上信息,您可以将其更改为WARN,ERROR,FATAL。
因此:
<root>
<priority value="WARN"></priority>
<appender-ref ref="fileAppenderMain1"></appender-ref>
</root>
更新:
如果您想要Main1.class的日志而没有其他日志可以使用
<root>
<priority value="OFF"></priority>
<appender-ref ref="fileAppenderMain1"></appender-ref>
</root>