2016-05-26 10 views
0

Ich versuche, Protokollierung programmatisch zu konfigurieren. Ich lade die Informationen aus einer .properties-Datei. Für die Konfiguration des Loggers i nennen:JUL falscher Anrufer?

final Logger logger = Logger.getLogger(cat); 
logger.setLevel(Level.ALL); 
logger.log(Level.ALL,"Test"); 

Er druckt Test, so dass dieser Teil funktioniert. Dies ist der StackTrace innerhalb : Trace of create logger

Später, wenn der Logger verwendet werden wird, ist der Pegel INFO. Later use

Es sieht so aus, als gäbe es verschiedene Logger-Kontexte. Wie merge ich zusammen?

+0

Wenn Sie nur einen Logger haben möchten, können Sie ihn 'statisch' machen und ihn über diesen Verweis verwenden, aber normalerweise würden Sie Log-Einstellungen eher wie http://stackoverflow.com/questions/6307648/change-global konfigurieren -setting-for-logger-instances – zapl

+0

Statik wird auf classload gestartet, ich möchte es vor dem classload konfigurieren. –

+0

Ich weiß nicht, wo der Code in Ihrem Beispiel ist, aber es wird nicht ausgeführt, bevor die Klasse es geladen wird entweder – zapl

Antwort

0

Ah! Der Garbage-Collector entfernt den Logger währenddessen und löscht den konfigurierten Wert.