无法登录不同的文件:Log4j

时间:2013-06-19 09:32:48

标签: java log4j apache-commons-logging

abc我正在尝试使用log4j API在两个不同的日志文件中记录消息。下面是我的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 class="org.apache.log4j.RollingFileAppender" name="OnlineFile">
    <param value="UTF-8" name="Encoding"/>
    <param value="D://abc//logs//Online.log" name="File"/>
    <param value="500" name="MaxBackupIndex"/>
    <param value="10000KB" name="MaxFileSize"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param value="%d{ISO8601} : %-6.6c : %-5p : %X{APP} : %-7X{USER} : %-2X{MODULE} : %-20X{REFDATA}  : %m%n" name="ConversionPattern"/>
    </layout>
</appender>
<appender class="org.apache.log4j.RollingFileAppender" name="ABCFile">
    <param value="UTF-8" name="Encoding"/>
    <param value="D://abc//logs//Sample.log" name="File"/>
    <param value="500" name="MaxBackupIndex"/>
    <param value="10000KB" name="MaxFileSize"/>
    <layout class="org.apache.log4j.PatternLayout">
        <param value="%d{ISO8601} : %-6.6c : %-5p : %X{APP} : %-7X{USER} : %-2X{MODULE} : %-20X{REFDATA}  : %m%n" name="ConversionPattern"/>
    </layout>
</appender>
<logger name="Online">
    <level value="debug"/>
</logger>
 <logger name="ABC">
    <level value="INFO"/>
    <appender-ref ref="ABCFile"/>
</logger>
<root>
    <level value="debug"/>
    <appender-ref ref="OnlineFile"/> 
</root>

以某种方式只登录Online.log.Even以下列方式获取正确的使用无法登录Sample.log

Logger.getLogger("ABCFile").info("My message");

无法弄清楚出了什么问题!有什么帮助吗?

2 个答案:

答案 0 :(得分:0)

&#34; ABCFile&#34;是你的appender的名字,你的日志名为&#34; ABC&#34;。尝试:

Logger.getLogger("ABC").info("My message");

答案 1 :(得分:0)

检查getLogger()API。您应该使用记录器名称而不是File Appender名称。更改如下代码。

Logger.getLogger(“ABC”)。info(“我的消息”);