簡體   English   中英

Log4j2 - 2 附加文件。 我只使用一個 ref,但是生成了兩個文件(其中一個是空的)

[英]Log4j2 - 2 appenderFile. I use only one ref, but two files are generated (One of them are empty)

我有兩個像這樣的附加程序“RollingFile”:

<RollingFile name="fileDebug" fileName="${REP}/debug.log" filePattern="${REP}/debug-%d{yyyy-MM-dd}-%i.log">
    <Filters>                
        <ThresholdFilter level="debug" onMatch="ACCEPT" onMismatch="DENY"/>            
    </Filters>
    <PatternLayout pattern="${LOG_PATTERN}"/>
    <Policies>
        <TimeBasedTriggeringPolicy/>
     </Policies>
    <DefaultRolloverStrategy max="2"/>
</RollingFile>

<RollingFile name="fileInfo" fileName="${REP}/info.log" filePattern="${REP}/info-%d{yyyy-MM-dd}-%i.log">
    <Filters>                
        <ThresholdFilter level="info" onMatch="ACCEPT" onMismatch="DENY"/>            
    </Filters>
    <PatternLayout pattern="${LOG_PATTERN}"/>
    <Policies>
        <TimeBasedTriggeringPolicy/>
    </Policies>
    <DefaultRolloverStrategy max="2"/>
</RollingFile>

我只打電話給其中一個。 例如

<Loggers>
    <Root level="all">
        <appender-ref ref="fileDebug"/>
    </Root>
</Loggers>

但是,當我運行我的程序時,會生成 2 個文件:帶有日志的debug.log和一個空的info.log

我怎么能在這個配置中只有一個文件(debug.log)?

非常感謝

最后,我將日志級別調整為 ${LEVEL} 進行此配置

<RollingFile name="file" fileName="${REP}/file-${LEVEL}.log" filePattern="${REP}/file-${LEVEL}-%d{yyyy-MM-dd}-%i.log">
    <Filters>                
        <ThresholdFilter level="${LEVEL}" onMatch="ACCEPT" onMismatch="DENY"/>            
    </Filters>
    <PatternLayout pattern="${LOG_PATTERN}"/>
    <Policies>
        <TimeBasedTriggeringPolicy/>
    </Policies>
    <DefaultRolloverStrategy max="2"/>
</RollingFile>

<Loggers>
    <Root level="all">
        <appender-ref ref="file"/>
    </Root>
</Loggers>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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