Log4j调试到文件-信息到控制台 [英] Log4j debug to file - Info to console

查看:154
本文介绍了Log4j调试到文件-信息到控制台的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述


我正在使用log4j作为日志.
我有一个只想打印到控制台log.info级别的类,
并打印到一些文件log.info + log.debug级别(同一类).


I'm using log4j for logs.
I have a class that i want to print to the console only log.info level,
And print to some file log.info + log.debug levels (The same class).

我尝试如下设置log4j.xml:

I tried to setup the log4j.xml as follows :

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

这是我的配置,但是我不能使用2个具有相同软件包名称的记录器.
有什么建议 ?
谢谢,
或者.

This is my configuration but I can't use 2 loggers with the same package name.
Any suggestions ?
Thanks,
Or.

推荐答案

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

Just define one logger for "parser.ParserMainJava" with debug level, and add the following parameter to your console appender definition:

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

这篇关于Log4j调试到文件-信息到控制台的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆