简体   繁体   English

Log4j调试到文件-信息到控制台

[英]Log4j debug to file - Info to console


I'm using log4j for logs. 我将log4j用于日志。
I have a class that i want to print to the console only log.info level, 我有一个要打印到控制台仅log.info级别的类,
And print to some file log.info + log.debug levels (The same class). 并打印到一些文件log.info + log.debug级别(同一类)。

I tried to setup the log4j.xml as follows : 我尝试如下设置log4j.xml:

<!--appender to parser file-->
<appender name="parserFile" class="org.apache.log4j.FileAppender">
    <param name="File" value="/var/log/java/parser/parser.log" />
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%d{E MMM dd HH:mm:ss} %c : %m%n" />
    </layout>
</appender> 

 <!--appender to the stdout-->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
    <param name="Target" value="System.out"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param name="ConversionPattern" value="%-5p %c{1} - %m%n"/>
    </layout>
</appender>


<logger name="parser.ParserMainJava">
    <level value="debug" />
    <appender-ref ref="parserFile" />
</logger>

<logger name="parser.ParserMainJava">
    <level value="info" />
    <appender-ref ref="console" />
</logger>

This is my configuration but I can't use 2 loggers with the same package name. 这是我的配置,但是我不能使用2个具有相同软件包名称的记录器。
Any suggestions ? 有什么建议么 ?
Thanks, 谢谢,
Or. 要么。

只需为具有调试级别的“ parser.ParserMainJava”定义一个记录器,然后将以下参数添加到控制台附加器定义中即可:

<param name="Threshold" value="INFO"/>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM