java - Log4j 不使用 JBoss 6.1 记录

标签 java logging jboss log4j

我有一个 JavaEE 应用程序,我正在 JBoss 6.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>

这是我的 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>

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

最佳答案

确保 $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 文件中进行解释,因此它们必须采用有效的 shell 格式,这意味着例如,= 之后的空格可能是问题的根本原因。

关于java - Log4j 不使用 JBoss 6.1 记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28286276/

相关文章:

java - 从宏运行 OrientationJ 时,是什么原因导致 "multiple points exception"?

java - 多个数据库操作出现 JVM 错误 : EXCEPTION_ACCESS_VIOLATION

java - 使用正则表达式删除字符串两部分之间的文本

java - 在android中,有没有办法获取每条短信发送短信的应用程序的名称

java - Eclipse Luna 的 Scala 插件

iphone - 为 iOS 推荐一个服务器端事件日志系统

java - 许多 Java 应用程序的集中日志记录 : Syslog vs JMS vs Http vs Local file

java - 简单的struts应用程序需要互联网才能运行吗?

jboss - java.net.BindException : Address already in use: JVM_Bind: 8080

jboss - 禁用 Jboss wildlfy 欢迎内容