您好我在我的应用程序中使用logger文件,如下所述,它完美地记录了控制台和日志文件中的内容。 但是仍然在启动应用程序时它会显示警告"警告没有找到记录器"的附加程序。我的唯一区别是xml名称是logger.xml。
为什么即使xml是正确的,我也会收到此警告,并将所有内容记录在控制台中以及文件中。如果我复制了相同的logger.xml文件并将其命名为log4j.xml,则应用程序不会显示任何警告。
是否真的需要将logger.xml命名为log4j.xml或log4j.properties?
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
<appender name="Standard" class="org.apache.log4j.RollingFileAppender">
<param name="file" value="../classes/test.log"/>
<param name="Append" value="true"/>
<param name="maxFileSize" value="2097152"/> <!-- maximum filesize in bytes -->
<param name="maxBackupIndex" value="1"/> <!-- number of backup files -->
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-6p] %d{yyyy/MM/dd HH:mm:ss} [%t] %c.%M(): %m%n"/>
</layout>
</appender>
<appender name="Console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%-6p] %c.%M : %m%n"/>
</layout>
</appender>
<root>
<!-- possible values of priority: "DEBUG", "INFO", "WARN", "ERROR" -->
<priority value="ERROR" />
<appender-ref ref="Standard"/>
<appender-ref ref="Console"/>
</root>
</log4j:configuration>
答案 0 :(得分:1)
Log4j在搜索日志文件方面有专门的方式。详细过程记录在documentation中。
简而言之,如果您想使用其他文件,则需要在log4j.configurationFile
系统属性中进行设置。