2009-08-31 3 views
11

Potrzebuję dołączyć zawartość log4j do składnika Swing (JTextArea lub podobny). Czy istnieje powszechny sposób na zrobienie tego?Log4J Swing Appender

Odpowiedz

10

Zamiast wprowadzenia zewnętrznej biblioteki, skończyło się na edycję pliku log4j.properties zawierać następujące elementy:

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

Potem rachunek wzór obserwatora, aby opublikować dane do mojego GUI, JTextArea.

+0

Czy tylko nadpisałeś metodę WriterAppender.append()? – guerda

+0

proszę zamieścić swój kod; Utknąłem z tym problemem –

7

Dzięki Google, oczywiście odkryłem Log4j-Swing-Appender.

+0

Log4j huśtawka appender działa świetnie dla mnie. Ładnie utrzymuje pasek przewijania u dołu (bez przeskakiwania), a jeśli użytkownik przewinie do tyłu, pozwala użytkownikowi przeglądać bez przesuwania paska przewijania. Jeśli użytkownik ponownie przesunie pasek przewijania do przycisku, rozpocznie automatyczne przewijanie - świetnie! – xorcus

3

aby JScrollPane owijając element docelowy (np JTextArea) automatycznie przewijać w dół, aby zobaczyć najnowsze wpisy dziennika, pod numerem:

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

Dzięki! To było dla mnie bardzo przydatne. –