Log4j2 不创建日志文件

Log4j2 not creating log files

我正在尝试 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 的附加日志。

您的配置有误:

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

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

您肯定应该在输出中看到如下一行,警告您配置错误:

ERROR Console contains an invalid element or attribute "append"