2009-08-31 8 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のスイング。スクロールバーを一番下に(スムーズに)保ちます。ユーザーがスクロールバックすると、スクロールバーを動かすことなくユーザーが見ることができます。ユーザーが再びスクロールバーをボタンに移動すると、自動スクロールが再開されます。 – xorcus

3

JScrollPaneには、ターゲット・コンポーネント(例えば、JTextAreaに)を包むようにする自動的に呼び出すことを検討し、最新のログエントリを表示するにはスクロールダウン:

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

ありがとう!それは私のために非常に便利でした。 –

関連する問題