[英]log4j child class not overriding root class configuration
有人可以在下面給我指點嗎。 我認為孩子 class 級別(跟蹤)應該覆蓋根 class 級別(警告),但我只看到警告和以上日志。
我認為孩子 class 級別(跟蹤)應該覆蓋根 class 級別(警告)。 但我只看到警告和以上日志。
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn" monitorInterval="30">
<Appenders>
<Console name="StdOut" target="SYSTEM_OUT">
<PatternLayout pattern="[%-5level] %msg%n" />
</Console>
<File name="FileAppender" filename="LogOutput.log">
<PatternLayout
pattern="%d{dd MMM yyyy HH:mm:ss} [%t] %-5level %logger{36} - %msg%n" />
</File>
</Appenders>
<Loggers>
<Root level="warn">
<AppenderRef ref="FileAppender" />
</Root>
<!-- Uncomment the Logger definition below to have ONLY warn-level messages
and above be directed to the console -->
<Logger name="com.fdmgroup.logging.Demo" >
<AppenderRef ref="StdOut" level="trace"/>
</Logger>
<Logger name="com.fdmgroup.exercise.Runner" >
<AppenderRef ref="StdOut" level="trace"/>
<AppenderRef ref="FileAppender" level="trace"/>
</Logger>
</Loggers>
</Configuration>
您沒有在記錄器上設置TRACE
閾值,而是在附加程序引用上設置。 因此,您的“com.fdmgroup.logging.Demo”記錄器具有:
WARN
閾值(繼承自根記錄器),TRACE
閾值,additivity
的默認值為“真”)。 僅當消息未被記錄器和附加程序上的過濾器拒絕時才會記錄消息,因此僅記錄WARN
消息。
您可能想為記錄器設置級別,而不是 appender refs:
<Loggers>
<Root level="WARN">
<AppenderRef ref="FileAppender" />
</Root>
<Logger name="com.fdmgroup.logging.Demo" additivity="false" level="TRACE">
<AppenderRef ref="StdOut"/>
</Logger>
<Logger name="com.fdmgroup.exercise.Runner" level="TRACE">
<AppenderRef ref="StdOut"/>
</Logger>
</Loggers>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.