2009-08-31 112 views
11

我需要將log4j內容附加到Swing組件(JTextArea或類似的)。有沒有一種常見的方法來做到這一點?Log4J Swing Appender

回答

10

而是引入外部庫的,我結束了編輯log4j.properties文件包括以下內容:

log4j.rootCategory=DEBUG, app 
log4j.appender.app=path.to.class.extending.WriterAppender 

然後我採用的觀察者模式把數據上傳到我的GUI的JTextArea中。

+0

你只覆蓋WriterAppender.append()方法嗎? – guerda

+0

請發佈您的代碼;我遇到了這個問題 –

7

感謝Google,我明顯發現了Log4j-Swing-Appender

+0

Log4j的擺動的appender的偉大工程,爲我好。它很好地保持滾動條在底部(不跳躍),並且如果用戶向後滾動,它可以讓用戶查看而不用移動滾動條。如果用戶再次將滾動條移動到按鈕,它會再次開始自動滾動 - 非常棒! – xorcus

3

使JScrollPane的包裝目標組件(例如JTextArea中)會自動向下滾動顯示最新的日誌條目,考慮調用:

org.apache.log4j.lf5.viewer.LF5SwingUtils.makeVerticalScrollBarTrack(scrollPane); 
+0

謝謝!這對我來說是非常有用的。 –