2015-02-02 10 views
5

Mam aplikację JavaEE i wdrażam ją na JBoss 6.1. Chcę używać Log4j.Log4j nie loguję się z JBoss 6.1

Są to moi zależności:

<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> 

To jest moje 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 

Dodałem tę linię na standalone.conf

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

To mój JBoss -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> 

Nie widzę żadnych dzienników na mojej konsoli. Dowolny pomysł?

Odpowiedz

2

Upewnij się $JAVA_OPTS nie jest przesłonięta gdzieś (przetestować go można umieścić go bezpośrednio w skrypcie standalone.sh tuż przed inicjalizacji.

Jeśli problem nadal utrzymują się, a następnie dodać -Dlog4j.configuration właściwość, aby określić ścieżkę do pliku dziennika konfiguracja (upewnij się, że masz prawo uprawnienia).

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

upewnij się configure the log4j.xml file.

Należy pamiętać, że nawet jeśli zdefiniujesz właściwości w pliku .conf, zostaną one zinterpretowane w pliku .sh, więc muszą być w poprawnym formacie powłoki, co oznacza, że ​​spacja po = może na przykład być przyczyną problemu.

+0

Tak, to brzmi obiecująco. Spróbuję, kiedy wrócę z wakacji w przyszłym tygodniu, mam nadzieję, że jest OK dla nagrody –

0

ponieważ używasz slf4j-log4j12, powinniśmy również skonfigurować dla slf4j-log4j12, dodać następujące właściwości logge.

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 
Powiązane problemy