Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j未使用JBoss 6.1进行日志记录_Java_Logging_Jboss_Log4j - Fatal编程技术网

Java Log4j未使用JBoss 6.1进行日志记录

Java Log4j未使用JBoss 6.1进行日志记录,java,logging,jboss,log4j,Java,Logging,Jboss,Log4j,我有一个JavaEE应用程序,我正在JBoss6.1上部署它。我想用Log4j 这些是我的依赖项: <dependency> <groupId>commons-logging</groupId> <artifactId>commons-logging</artifactId> <version>1.1.1</version> </dependency> <depende

我有一个JavaEE应用程序,我正在JBoss6.1上部署它。我想用Log4j

这些是我的依赖项:

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


我在控制台上看不到日志。有什么想法吗?

你可以试试这个链接。我希望这将有助于确保
$JAVA\u OPTS
不会在某个地方被重写(要测试它,可以在初始化之前直接将其放入
standalone.sh
脚本中)

如果问题仍然存在,则添加
-Dlog4j.configuration
属性以指定配置日志文件的路径(确保您具有正确的权限)

你一定要小心


请注意,即使您在
.conf
文件中定义了属性,它们也将在
.sh
文件中解释,因此它们必须是有效的shell格式,这意味着
=
后面的空格可能是问题的根本原因。

当您使用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

这个答案可能适合jboss的社区版,但不适合企业版。是的,听起来很有希望。我下周度假回来后会试试,希望这对赏金没问题
JAVA_OPTS="$JAVA_OPTS -Dorg.jboss.as.logging.per-deployment=false -Dlog4j.configuration=file:$JBOSS_HOME/standalone/configuration/log4j.xml"
 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