Log4j2没有创建日志文件

时间:2015-03-07 20:22:44

标签: java logging configuration log4j2

我正在尝试log4j2配置

<?xml version="1.0" encoding="UTF-8"?>

<configuration status="info">
    <appenders>
        <Console name="console-log" target="SYSTEM_OUT" append="false">
            <ThresholdFilter level="INFO" onMatch="ACCEPT" onMismatch="DENY"/>
            <PatternLayout pattern="%d{HH:mm:ss.SSS} %-5level %class{36}:%L %M - %msg%xEx%n"/>
        </Console>
        <File name="debug-log" fileName="${catalina.base}/logs/debug.log" append="false">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36}:%L %M - %msg%xEx%n"/>
        </File>
        <File name="trace-log" fileName="${catalina.base}/logs/trace.log" append="false">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36}:%L %M - %msg%xEx%n"/>
        </File>
        <File name="error-log" fileName="${catalina.base}/logs/error.log" append="false">
            <PatternLayout pattern="%d{yyyy-MM-dd 'at' HH:mm:ss.SSS z} %-5level %class{36}:%L %M - %msg%xEx%n"/>
        </File>
    </appenders>
    <loggers>
        <root level="debug" additivity="false">
            <appender-ref ref="console-log"/>
        </root>
        <Logger name="com.mypackage" level="debug" additivity="false">
            <appender-ref ref="debug-log" level="debug"/>
            <appender-ref ref="trace-log" level="info"/>
            <appender-ref ref="error-log" level="error"/>
        </Logger>
    </loggers>
</configuration>

我正在将日志记录和数据发送到catalina.out,但其余文件未创建。 无法弄清楚我可能在这里犯的愚蠢错误? 如何创建另一个文件,该文件只能包含debug-log,trace-log,error-log的附加日志。

1 个答案:

答案 0 :(得分:1)

您的配置中有错误:

Console appender不应具有append属性。删除它应修复您的配置。

此外,additivity记录器上的Root属性是不必要的。它什么都不做,因为没有更高的记录器可以添加。

你绝对应该在输出中看到如下所示的行,警告你有关错误的配置:

ERROR Console contains an invalid element or attribute "append"