0
我正在使用Log4j,我想从类Main写入日志文件, 问题在于日志获取其他类的所有INFO日志 以及类我想写入文件。 例如:筛选信息日志到Appender文件,除了特定的类
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” 日志
感谢
我有错误,警告和信息记录在我的应用程序中,它不会帮助我。 –
你说过“我只想记录”Main1“日志”。保留Main1信息日志,并为应用程序的其余部分(root logger)保留所需的默认级别。我假设你想要main1和其他的更高级别的信息。你可以用最高的,像致命的过滤掉消息。但这只对开发模式有意义。如果这对你没有帮助,你的问题不够具体。 –
嗨,对错误的问题抱歉。我需要它prod模式。谢谢 –