2017-06-16 97 views
0

我有屬性文件中log4j2的配置。記錄器將輸出發送到控制檯,但不發送到文件。它創建日誌文件,但不會用內容更新它。我的配置文件中可能會丟失什麼?log4j2不保存到日誌文件

log4j2.properties

status = error 
name = PropertiesConfig 

property.filename = /usr/local/logs/kit.log 

filters = threshold 

filter.threshold.type = ThresholdFilter 
filter.threshold.level = debug 

appenders = rolling 

appender.rolling.type = RollingFile 
appender.rolling.name = RollingFile 
appender.rolling.fileName = ${filename} 
appender.rolling.filePattern = debug-backup-%d{MM-dd-yy-HH-mm-ss}-%i.log.gz 
appender.rolling.layout.type = PatternLayout 
appender.rolling.layout.pattern = %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n 
appender.rolling.policies.type = Policies 
appender.rolling.policies.time.type = TimeBasedTriggeringPolicy 
appender.rolling.policies.time.interval = 1 
appender.rolling.policies.time.modulate = true 
appender.rolling.policies.size.type = SizeBasedTriggeringPolicy 
appender.rolling.policies.size.size=10MB 
appender.rolling.strategy.type = DefaultRolloverStrategy 
appender.rolling.strategy.max = 20 

loggers = rolling 

logger.rolling.name = org.kit 
logger.rolling.level = debug 
logger.rolling.additivity = false 
logger.rolling.appenderRef.rolling.ref = RollingFile 

測試類

package org.kit.log; 

import org.apache.logging.log4j.LogManager; 
import org.apache.logging.log4j.Logger; 

public class LogTest { 
    private static final Logger logger = LogManager.getLogger(LogTest.class); 

    public static void main(String[] args) { 
     logger.debug("Hello world - debug log"); 
     logger.info("Hello world - info log"); 
     logger.warn("Hello world - warn log"); 
     logger.error("Hello world - error log"); 
    } 
} 

回答

0

您可以嘗試在配置上的第一行設置爲status = TRACE顯示Log4j2在控制檯上的內部記錄。這可能有助於確定配置的任何問題。

此外,你可以嘗試配置一個rootLogger,而不是一個命名記錄器?

rootLogger.level = info 
rootLogger.appenderRef.rolling.ref = RollingFile