将INFO日志过滤到除特定类之外的Appender文件

时间:2015-05-12 14:14:59

标签: java log4j slf4j

我正在使用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”日志

由于

1 个答案:

答案 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>
相关问题