簡體   English   中英

log4j 子 class 不覆蓋根 class 配置

[英]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閾值(繼承自根記錄器),
  • “StdOut”appender 的TRACE閾值,
  • 從根記錄器繼承的“FileAppender”沒有閾值(可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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM