“警告没有找到记录器的追加器”甚至记录器记录内容

时间:2014-05-22 14:19:01

标签: java xml logging log4j

您好我在我的应用程序中使用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>

1 个答案:

答案 0 :(得分:1)

Log4j在搜索日志文件方面有专门的方式。详细过程记录在documentation中。

简而言之,如果您想使用其他文件,则需要在log4j.configurationFile系统属性中进行设置。