log4j funktioniert nicht im WebSphere
Ich habe ein seltsames problem, wobei meine log4j-Protokollierung arbeitet, wenn Sie eingesetzt werden, auf tcServer, aber nicht auf WebSphere 6.1.
Der name der Datei, die ich angegeben habe in der log4j erzeugt. Es ist jedoch nicht aufgefüllt, obwohl die anderen Websphere-Protokollen (SystemOut.log usw.) sind.
Ich habe meine WebSphere home-Verzeichnis das directory-Eigenschaften, und es gibt keine Konflikte mit log4j-Dateien befinden sich dort.
Das seltsamste ist, dass es funktioniert gut auf tcServer, so kann es nicht sein, ein problem mit der Datei log4j selbst. Es scheint so, dass einige Umwelt-Problem.
Hat jemand irgendwelche Ideen auf, wie man dieses Problem beheben?
Dank
- Sind Sie einschließlich aller Bibliotheken, die Nutzung Commons Logging? Werden Sie sagen, dass Ihre log4j Aussagen erscheinen in der SystemOut.log?
- Ja für mich, es geht um die sysouts , aber nicht die Datei, was ich bin fehlt?
- sehen, ob das hilft: stackoverflow.com/a/8138477/796761
Du musst angemeldet sein, um einen Kommentar abzugeben.
Log4j und WAR gearbeitet haben, für die gute Art und Weise zu viele Anwendungen. Also diese Kombination ist keineswegs neu. Verwenden Sie keine wrapper für log4j (e.g-Commons-Logging)?
Schalten Sie das debugging für log4j.
-Dlog4j.debug=true WAR die JVM-Argumente.
Diese wird Informationen darüber liefern, welche log4j ist zu tun versuchen.
Sollte dies Ihnen einige Hinweise auf das, was in der Umgebung WAR.
HTH
Manglu
Hatten wir ein Problem eine Weile zurück, wenn wir installierten einen JCA-connector in WebSphere, kam verpackt mit seinen eigenen log4j lib. Da diese Stecker wird in den container geladen classloader-Hierarchie, die log4j-lib im Anschluss effektiv überschrieb die log4j in unserer Anwendung. Es auch verhindern, dass unsere eigenen log4j-Eigenschaften geladen werden, da log4j wurde bereits installiert.
Wäre es, dass man, auch haben einige andere Bibliothek oder eine Ressource geladen in Ihr WAR stack, der kommt mit log4j. Die Art, wie wir um ihn herum wurde dabei explizit log4j-Initialisierung (Lesen Sie die log4j-Eigenschaften) programmgesteuert in unserer Anwendung.