2012-03-28 89 views
0

我正在處理一個項目,我們想用log4j來處理我們的日誌記錄。我遇到了一些問題,我無法輕鬆解決查看log4j文檔或其他在線文檔的問題。一些log4j配置問題

我得到將日誌代碼放到整個代碼庫的基本思路,然後讓屬性文件將日誌數據分類到appender層次結構以及如何寫出文件。沒關係。基本上,這允許我創建一個硬編碼文件夾greppable日誌文件,比如這個:

log4j.appender.R=org.apache.log4j.RollingFileAppender 
log4j.appender.R.File=example.log 

但是我有兩個基本問題:我想有日誌位置是動態的,如:

log4j.appender.R.File={$processDir}/example.log 

此外,每次用戶運行此應用程序時,都會使用輸出文件創建一個文件夾。我想將日誌文件放在那裏,我不知道如何實現。

另一個問題(雖然我認爲一旦第一個問題得到解決,這會變得更容易...)是關於創建格式化的日誌,它不一定反映應用程序的運行過程......例如,標題,後跟所有輸入文件的列表,所有輸出文件的列表以及遇到的任何警告。

我認爲,我會創建一個實現了ObjectRenderer的對象,並編寫一個doRender方法給我我想要的信息。

這聽起來是否正確? 謝謝!

回答

1

可以使用變量使用此語法

log4j.appender.R.File=${processDir}/example.log 

必須定義變量作爲系統性能(ES。-DprocessDir = ...)或手動

System.setProperty("processDir",logDir); 
(創建文件夾之後)