2015-02-02 2 views
5

У меня есть приложение JavaEE, и я развертываю его на JBoss 6.1. Я хочу использовать Log4j.Log4j не регистрируется с JBoss 6.1

Это моя зависимость:

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

Это мой 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 

Я добавил эту линию на standalone.conf

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

Это мой 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> 

Я не вижу никаких журналов на моей консоли. Есть идеи?

ответ

2

Убедитесь, что $JAVA_OPTS не переопределяется где-то (чтобы проверить его можно поместить его непосредственно в standalone.sh сценария непосредственно перед инициализацией.

Если проблема все еще сохраняется, затем добавить -Dlog4j.configuration свойство, чтобы указать путь к файлу журнала конфигурации (убедитесь, что у вас есть право доступа).

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

Убедитесь, что вы configure the log4j.xml file.

Обратите внимание, что даже если вы определяете свойства в файле .conf, они будут интерпретироваться в файле .sh, поэтому они должны быть в допустимом формате оболочки, что означает пробел после =, например, может быть основной причиной вашей проблемы.

+0

Да, это звучит многообещающе. Я попробую, когда вернусь из отпуска на следующей неделе, надеюсь, что ОК для награды –

0

, поскольку вы используете slf4j-log4j12, мы должны также настроить для slf4j-log4j12, добавив следующее в свойствах журнала.

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