2014-09-25 131 views
1

我剛開始使用log4j2與slf4j2,但我面臨一個問題,我試圖創建日常滾動日誌文件。我可以創建一個活動日誌文件,但是當我將系統日期更改一天時,日誌記錄發生在我認爲應該將以前日誌記錄存檔到另一個文件的同一活動文件中。log4j2不創建RollingFile日誌

以下是log4j2.xml:

<?xml version="1.0" encoding="UTF-8"?> 
 
<Configuration status="ERROR" monitorInterval="5"> 
 
\t <Properties> 
 
\t \t <Property name="log-path">${sys:catalina.base}/logs</Property> 
 
\t </Properties> 
 
\t <Appenders> 
 
\t \t <Console name="Console" target="SYSTEM_OUT"> 
 
\t \t \t <PatternLayout 
 
\t \t \t \t pattern="%d{dd-MMM-YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> 
 
\t \t </Console> 
 
\t \t <RollingFile name="file-gen" fileName="${log-path}/demopro.log" 
 
\t \t \t filePattern="${log-path}/%d{yyyy-MM}/demopro-%d{dd-MM-yyyy}.log.gz"> 
 
\t \t \t <PatternLayout 
 
\t \t \t \t pattern="%d{dd-MMM-YYYY HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" /> 
 
\t \t \t <Policies> 
 
\t \t \t \t <TimeBasedTriggeringPolicy interval="1" modulate="true" /> 
 
\t \t \t </Policies> 
 
\t \t </RollingFile> 
 
\t </Appenders> 
 
\t <Loggers> 
 
\t \t <Root level="info"> 
 
\t \t \t <AppenderRef ref="Console" /> 
 
\t \t </Root> 
 
\t \t <Logger name="org.hkb.tryone" level="debug" additivity="false"> 
 
\t \t \t <AppenderRef ref="Console" /> 
 
\t \t </Logger> 
 
\t \t <Logger name="org.hkb.trytwo" level="info" additivity="false"> 
 
\t \t \t <AppenderRef ref="Console" /> 
 
\t \t \t <AppenderRef ref="file-gen" /> 
 
\t \t </Logger> 
 
\t </Loggers> 
 
</Configuration>

我在做什麼錯在這裏?!

回答

0

我認爲你的filePattern只能有一個%d變量。如果您有兩個,則翻轉策略不能確定翻轉頻率。

所以,更換你現在擁有的一切:

filePattern="${log-path}/%d{yyyy-MM}/demopro-%d{dd-MM-yyyy}.log.gz"> 

與此:

filePattern="${log-path}/$${date:yyyy-MM}/demopro-%d{dd-MM-yyyy}.log.gz"> 
+0

現在的作品,但只有部分。現在,存檔日誌文件正在Tomcat'bin'目錄內創建,而不是在目錄'C:\ Workspace \ Tools \ apache-tomcat-7.0.42 \ bin \ WorkspaceToolsapache-tomcat-7.0.42 \ logs'中創建,這意味着filePattern解釋不正確。我如何克服這一點,而不必指定靜態的歸檔目錄? – 2014-09-26 06:33:19

+0

這不是說系統屬性'catalina.base'指向tomcat bin目錄嗎? – 2014-09-26 09:32:56

+0

看起來如此。但是這不會發生在活動日誌文件中。活動日誌文件顯示在tomcat/log內的正確目錄中,而不是在tomcat/bin目錄內存檔的歸檔日誌文件。 – 2014-10-01 05:37:20