Hallo,
ich benutze derzeit bei meinem Projekt das Java Logging API.
Nun ist folgendes Problem aufgetaucht:
- Wenn ich aus mehreren Threads den gleichen Logger benutzen will, dann funktioniert das scheinbar nicht.
Genauer:
- Es gibt einen Logger, der in der Main Klasse erstellt wird
Aus der main Klasse werden nun mehrere Threads gestartet, von denen jeder ein eigener logger benutzen soll um so in einer eigenen Datei zu loggen...
MainClass(log.log) ---> Thread 1(th1.log) ---> ...
Das Problem ist nun, das zwar in den Threads die eigenen logger erstellt werden (zumindest scheint es so), die Log-Einträge aber alle in der log Datei vom ersten Thread landen!?
Könnt ihr mir dabei weiterhelfen?
War jetz nur ne sehr grobe Beschreibung, bei Bedarf genauer...
Weiß nich, ob es wichtig ist, in der MainClass wird der Logger statisch initialisiert. In den Threads ist er nicht statisch und zu Beginn null, da wird er erst im Konstruktor initialisiert...
(Update)
ok, Problem gefunden, in den Threads war der Logger doch statisch, weswegen auch der gleiche verwendet wurde bzw. immer wieder überschrieben wurde (von anderen Threads)... oh man, und das nach ner ganzen Stunde der Suche *KopfAufTischHau*
ich danke euch ^^
ich benutze derzeit bei meinem Projekt das Java Logging API.
Nun ist folgendes Problem aufgetaucht:
- Wenn ich aus mehreren Threads den gleichen Logger benutzen will, dann funktioniert das scheinbar nicht.
Genauer:
- Es gibt einen Logger, der in der Main Klasse erstellt wird
Code:
private static final Logger log = Logger.getLogger("JenaiaClient");
Aus der main Klasse werden nun mehrere Threads gestartet, von denen jeder ein eigener logger benutzen soll um so in einer eigenen Datei zu loggen...
MainClass(log.log) ---> Thread 1(th1.log) ---> ...
Das Problem ist nun, das zwar in den Threads die eigenen logger erstellt werden (zumindest scheint es so), die Log-Einträge aber alle in der log Datei vom ersten Thread landen!?
Könnt ihr mir dabei weiterhelfen?
War jetz nur ne sehr grobe Beschreibung, bei Bedarf genauer...
Weiß nich, ob es wichtig ist, in der MainClass wird der Logger statisch initialisiert. In den Threads ist er nicht statisch und zu Beginn null, da wird er erst im Konstruktor initialisiert...
(Update)
ok, Problem gefunden, in den Threads war der Logger doch statisch, weswegen auch der gleiche verwendet wurde bzw. immer wieder überschrieben wurde (von anderen Threads)... oh man, und das nach ner ganzen Stunde der Suche *KopfAufTischHau*
ich danke euch ^^