abcI我尝试使用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,即使按照以下方式获取正确的使用,也无法登录Sample.log
Logger.getLogger("ABCFile").info("My message");
不知道出了什么问题!任何帮助吗?
"ABCFile"是你的appender的名字,你的日志被命名为"ABC"。试一试:
Logger.getLogger("ABC").info("My message");
检查getLogger() API。您应该使用记录器名称而不是文件附加程序名称。修改代码如下:
Logger.getLogger("ABC"). info("我的消息");