过滤信息日志到Appender文件,除了特定类



我正在使用log4j,我想从class main到日志文件写作,问题是日志从其他类获取所有信息日志与我想写入文件的课程。例如:

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的信息日志,而其余的则是WARN及以上。

这样:

<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>

最新更新