Wie wird die OpenEJB-Protokollierung konfiguriert?

8

Wie kann ich das OpenEJB-Protokollformat konfigurieren? Das ist, was ich jetzt in Protokollen sehe:

%Vor%

Ich möchte INFO messages deaktivieren und die Formatierung anderer ändern. Änderungen in log4j.properties haben keine Auswirkung.

    
yegor256 14.11.2010, 09:32
quelle

4 Antworten

3

Das habe ich getan, damit die Dinge richtig funktionieren (in pom.xml ):

%Vor%

Funktioniert jetzt gut. Das ist mein test/resources/jndi.properties :

%Vor%

Dies ist test/resources/log4j.properties :

%Vor%

Jetzt kann ich die Protokollierung von OpenEJB während des Tests optimieren, dank Davids Unterstützung:)

    
yegor256 25.11.2010, 09:42
quelle
8

Beachten Sie, dass die Overriding-Fähigkeit, die Sie mit dem OpenEJB-Logger erhalten, sowohl mit Systemeigenschaften als auch mit InitialContext-Eigenschaften funktioniert.

Die Eigenschaft openejb.logger.external richtet sich in Wirklichkeit an Server, die OpenEJB integrieren, wie z. B. Geronimo, die unterschiedliche Protokollierungssysteme verwenden und erweiterte Kontrolle über die Protokollierung benötigen. Es ist nicht für den allgemeinen Gebrauch gedacht, da diese Option aktiviert ist und keine anderen Schritte unternommen werden. Sie erhalten no logging jeglicher Art, nicht einmal ERROR und keine Informationen über fehlgeschlagene Bereitstellungen. Selbst die korrekte Verwendung deaktiviert weiterhin alle unten beschriebenen Optionen.

Wenn der Wunsch besteht, die Protokollierungskonfiguration in oder aus dem Test zu bekommen, gibt es viele Möglichkeiten, dies zu tun, ohne dass irgendwelche Protokollierungsfunktionen verloren gehen, die OpenEJB bietet.

Option 1: im Code über InitialContext-Eigenschaften

Im Testfall selbst über InitialContext-Eigenschaften

%Vor%

Option 2: Eine Datei jndi.properties

Die Datei muss sich im Klassenpfad bei jedem Pfad befinden, der zu "/jndi.properties" ausgewertet wird, also nicht "/META-INF/jndi.properties"

In Maven kann dies getan werden, indem die Datei in src/test/resources/jndi.properties

platziert wird %Vor%

Hier ist ein kurzes Video der obigen Option in Aktion.

Beachten Sie, dass das Suchen und Lesen der Datei jndi.properties eine Funktion von java vm ist Wenn dies nicht funktioniert, ist es eher ein Konfigurationsproblem als ein vm-Fehler.

Option 3: Maven Surefire Konfiguration

%Vor%

Option 4: beliebige Kombination

Beachten Sie auch, dass alle oben genannten Techniken sofort verwendet werden können, einschließlich aller Überschreibungen, die Sie in einzelne Testfälle einfügen möchten. Die Rangfolge ist wie folgt:

  1. InitialContext-Eigenschaften
  2. jndi.properties im Klassenpfad
  3. Systemeigenschaften (in diesem Fall Setup über todsichere)
  4. embedded.logging.properties im Klassenpfad

Option 5: Eine Funktion anfordern

Wie immer sind wir sehr glücklich, die Dinge so einfach wie möglich zu machen. Wenn Sie ein bestimmtes Bedürfnis oder eine bestimmte Idee haben, können wir es gerne ausprobieren oder Ihnen helfen, wenn Sie etwas beitragen möchten.

    
David Blevins 25.11.2010 19:46
quelle
2

Laut Konfigurieren der Anmeldung bei Tests können Sie die Standardprotokollierungskonfiguration überschreiben:

  • indem Sie bestimmte Eigenschaften in InitialContext creation time ~ or ~
  • setzen
  • durch Angabe von embedded.logging.properties auf dem Klassenpfad

Das ist der empfohlene Ansatz.

Alternativ können Sie die gesamte Standardkonfiguration deaktivieren und eigene angeben:

  

Sie können "openejb.logger.external" als Systemeigenschaft auf "true" setzen (funktioniert nicht als InitialContext-Eigenschaft). Dann wird OpenEJB nicht versuchen, die Protokollierung überhaupt zu konfigurieren, und Sie können die Protokollierung mit Log4j direkt mit einer seiner APIs konfigurieren. XML, Eigenschaften oder Code.

    
Pascal Thivent 14.11.2010 10:09
quelle
0

Wenn es Ihnen nichts ausmacht, ein anderes Logging-Framework zu verwenden, könnten diese Links nützlich sein.

Ссылка

JUL zur SLF4J-Brücke

Verwenden Sie openejb.logger.external=true nicht mit diesem Ansatz. Siehe Ссылка

    
Milanka 15.02.2013 09:51
quelle

Tags und Links