2014-09-12 43 views
0

我們最近已經將log4j2-beta9遷移到了log4j2-2.0版本。 我們正面臨着翻轉文件的問題。log4j2:翻轉文件沒有壓縮並且活動文件沒有被清除

第一個問題: 翻轉文件不壓縮,只保留.log文件。

第二期: 活動文件未被清除。日誌不斷添加到相同的文件,因此增加了文件大小。

請找我log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE log4j2config [ 
<!ENTITY appenders SYSTEM "#USER_INSTALL_DIR#/wwf/config/properties/log4j2-appenders.xml"> 
<!ENTITY loggers SYSTEM "#USER_INSTALL_DIR#/wwf/config/properties/log4j2-loggers.xml"> 
]> 
<configuration monitorInterval="30" status="debug"> 
    <properties> 
    <property name="log4j2.logDir">.</property> 
    <property name="logDir">${sys:log4j2.logDir}</property> 
    <property name="log4j2.filePrefix">default</property> 
    <property name="filePrefix">${sys:log4j2.filePrefix}</property> 
    </properties> 
    <appenders> 
    <RollingFile name="Default" fileName="${logDir}/${filePrefix}.log" 
       filePattern="${logDir}/${filePrefix}/${filePrefix}-%d{MM-dd-yyyy}-%i.log.gz"> 
     <PatternLayout charset="UTF-8" pattern="%d %-5p [%t] %c %m [%M:%L %X] %n"/> 
     <Policies> 
     <SizeBasedTriggeringPolicy size="1 MB"/> 
     </Policies> 
     <DefaultRolloverStrategy max="200"/> 
    </RollingFile> 
    <Console name="Console" target="SYSTEM_ERR"> 
     <PatternLayout charset="UTF-8" pattern="%d %-5p [%t] %c %m [%M:%L %X] %n"/> 
    </Console> 
    &appenders; 
    </appenders> 
    <loggers> 
    <logger name="SYSTEM_OUT" level="info" additivity="false"> 
     <appender-ref ref="Default" /> 
     <appender-ref ref="Console" /> 
    </logger> 
    <logger name="SYSTEM_ERR" level="error" additivity="false"> 
     <appender-ref ref="Default" /> 
     <appender-ref ref="Console" /> 
    </logger> 
    <logger name="com.abc" level="debug" additivity="false"> 
     <appender-ref ref="Default"/> 
    </logger> 
    <logger name="com.xyz" level="debug" additivity="false"> 
     <appender-ref ref="Default"/> 
    </logger> 
    <logger name="com.abcdef" level="debug" additivity="false"> 
     <appender-ref ref="Default"/> 
    </logger> 
    <logger name="com.abcdef.commons" level="debug" additivity="false"> 
     <appender-ref ref="Default"/> 
    </logger> 
    <logger name="org.springframework" level="warn" additivity="false"> 
     <appender-ref ref="Default"/> 
    </logger> 
    <root level="error"> 
     <appender-ref ref="Console"/> 
    </root> 
    &loggers; 
    </loggers> 

</configuration> 

回答

1

問題的發生是因爲在集羣設置節點1表現爲管理服務器也。但是管理服務器和節點1的JVM是不同的。這兩個JVM都使用相同的文件appserver.log進行日誌記錄。但是,管理服務器不會向日志文件添加任何內容。不過,它仍在鎖定appserver.log。因此,appserver.log沒有被清除。

因此,在您的設置中,檢查appserver.log是否由於某種原因被鎖定。

在我們的案例中,我們通過爲管理服務器創建一個虛擬appserver.log來解決問題。這樣我們的日誌文件就不會被鎖定。

0

你有沒有嘗試添加<TimeBasedTriggeringPolicy /><RollingFile>...<Policies>節?你目前只有一個基於大小的觸發策略,但你的filePattern有一個日期。

此外,你的配置有一個奇怪的字符串&appenders; - 你應該刪除這個。

</Console> 
    &appenders; 
    </appenders> 

類似的記錄器:

</root> 
    &loggers; 
    </loggers> 
+0

有關上述問題的更新情況:當我們有獨立安裝時,我們不面臨問題。當我們有一個集羣設置時,會出現這個問題。在羣集設置中,管理服務器和其中一個節點是相同的。在這種情況下,我們正在獲取日誌文件翻轉問題。然而,另一個節點工作正常。日誌正在滾動和壓縮。當前文件也被清空。我真的很難找到問題的根源。我嘗試了這兩個建議,但他們沒有幫助! – Shashi 2014-09-15 11:03:43

+0

這是否意味着你有兩個進程寫入同一個文件? – 2014-09-15 11:57:12

+0

不,管理服務器僅用於負載平衡。它沒有任何進程寫入日誌文件。 – Shashi 2014-09-15 12:22:45

相關問題