2015-02-02 5 views
5

Ich habe eine JavaEE-Anwendung und stelle sie auf JBoss 6.1 bereit. Ich möchte Log4j verwenden.Log4j protokolliert nicht mit JBoss 6.1

Das sind meine Abhängigkeiten:

<dependency> 
    <groupId>commons-logging</groupId> 
    <artifactId>commons-logging</artifactId> 
    <version>1.1.1</version> 
</dependency> 

<dependency> 
     <groupId>org.slf4j</groupId> 
    <artifactId>slf4j-log4j12</artifactId> 
    <version>1.5.10</version> 
</dependency> 

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.16</version> 
</dependency> 

<dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.6.4</version> 
</dependency> 

Das ist mein log4j.properties

log4j.rootLogger=info, stdout 

log4j.appender.stdout=org.apache.log4j.ConsoleAppender 
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout 
log4j.appender.stdout.layout.ConversionPattern=%d{${datestamp}} %5p: %c{2} - %m%n 

ich diese Linie auf der standalone.conf hinzugefügt haben

JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false" 

Das ist mein Jboss ist -deployment-structure.xml

<?xml version="1.0" encoding="UTF-8"?> 

<jboss-deployment-structure> 
<deployment> 
    <exclusions> 
    <module name="org.apache.log4j" /> 
    <module name="org.apache.commons.logging" /> 
    <module name="org.slf4j" /> 
    <module name="org.slf4j.impl" /> 
    </exclusions> 
</deployment> 
</jboss-deployment-structure> 

Ich kann keine Protokolle auf meiner Konsole sehen. Irgendeine Idee?

Antwort

2

Stellen Sie sicher, helfen die $JAVA_OPTS nicht irgendwo außer Kraft gesetzt wird (um es zu testen Sie es direkt im standalone.sh Skript vor der Initialisierung nur setzen könnte.

Wenn das Problem weiterhin bestehen bleiben, dann die hinzufügen -Dlog4j.configuration Eigenschaft den Pfad zur Konfigurationsprotokolldatei angeben (stellen Sie sicher, dass Sie die richtige Berechtigung).

JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false -Dlog4j.configuration=file:$JBOSS_HOME/standalone/configuration/log4j.xml" 

stellen Sie sicher, configure the log4j.xml file.

Beachten Sie, dass selbst wenn Sie die Eigenschaften in der Datei .conf definieren, sie in der Datei .sh interpretiert werden, so dass sie in einem gültigen Shell-Format vorliegen müssen, was beispielsweise nach einem Grund für Ihr Problem sein könnte.

+0

Ja, das klingt vielversprechend. Ich werde versuchen, wenn ich nächste Woche von meinem Urlaub zurück bin, hoffe, das ist OK für das Kopfgeld –

0

Da Sie slf4j-log4j12 verwenden, sollten wir auch für slf4j-log4j12 konfigurieren, fügen Sie folgende in Logge-Eigenschaften hinzu.

log4j.rootLogger=DEBUG, STDOUT 
log4j.logger.deng=INFO 
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender 
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout 
log4j.appender.STDOUT.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n