2017-06-01 3 views
0

Habe noch nie mit log4j gearbeitet, deshalb kann ich einige dumme Fragen stellen. Ich habe eine Maven-Webanwendung mit mehreren Modulen, die auf Glassfish 3.1 läuft. Jedes Modul ist mehr oder weniger unabhängig. Nun, ich habe die log4j-Konfigurationen (log4j.properties) eingerichtet und in den "config" -Ordner "dist" module gestellt. Außerdem hat jede pom.xml jedes Moduls eine log4j-Abhängigkeit. Die Klassenpfade wurden hinzugefügt. Auch in der domain.xml die JVM-Option hinzugefügt, Referenzierung der log4j.property:Log4j Konfiguration auf Glassfish3.1, nur Unit Test Logging

<jvm-options>-Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/log4j.properties</jvm-options>  

Im Glassfish Admin Panel hinzugefügt i Option Konfiguration verweist auf die Datei log4j.properties (Konfiguration -> severf-config - > JVM Allgemeine Einstellungen -> JVM-Optionen).

-Dlog4j.configuration=file:///${com.sun.aas.instanceRoot}/log4j.properties 

Ich fand diese Sachen lesen viel im Internet über log4j. So, jetzt ist mein Problem, dass, wenn ich den Maven Build starte, der Build den Unit Test ausführt, und das Framework funktioniert gut, aber es protokolliert keine Aktivität aus der Anwendung. Was könnte es sein?

Benötigt jedes Modul eine eigene log4j.property (ich denke nicht, weil es bereits Einträge von Methoden protokolliert, die aus dem Komponententest aufgerufen werden, aus Modulen, die keine log4j.properties haben).

Ist es möglich, dass der log4j vor/während des Startvorgangs initialisiert werden muss?

Erneut protokolliert es Unit Test und Maven Build, aber nicht während der Laufzeit, das ist, was ich nicht bekomme. Fehle ich etwas?

+0

Ist dies eine EAR-Bereitstellung oder mehrere WAR-Dateien? –

+0

Es ist eine EAR-Bereitstellung .. –

Antwort

0

Die Lösung bestand darin, die Datei log4j.properties in das persistente Maven-Modul (src/main/resources) zu schreiben. Nun werden die Aktivitäten protokolliert.

Verwandte Themen