我正在尝试 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
附加程序不应具有 append
属性。删除它应该可以修复您的配置。
此外,Root
记录器上的 additivity
属性是不必要的。它什么也不做,因为没有更高的记录器可以添加。
您肯定应该在输出中看到类似以下的行,警告您有关错误的配置:
错误控制台包含无效元素或属性“append”
关于java - Log4j2不创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28919589/