使用log4j登录Openshift jboss的问题



我在jboss上使用OpenShift和log4j进行日志记录时遇到了一些问题。

我使用log4j属性文件如下,但似乎在文件中没有得到日志消息。我有log4j属性文件在以下位置在我的应用程序;

  • /src/log4j . properties的
  • 部署资源/web - inf/log4j . properties的
  • WebContent/web - inf/log4j。属性

有什么特别的我需要做不同的JBoss吗?

感谢
log=/var/lib/openshift/52c0260d4382ec7329000120/app-root/runtime/dependencies/jbossas/deployments/Logs/HotOrNotLog.log
log4j.rootLogger=default.file.debug
# System.out.println appender
log4j.appender.default.out=org.apache.log4j.ConsoleAppender
log4j.appender.default.out.threshold=INFO
log4j.appender.default.out.layout=org.apache.log4j.PatternLayout
# Print the date in ISO 8601 format
log4j.appender.default.out.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# File appender for DEBUG
log4j.appender.default.file.debug=org.apache.log4j.FileAppender
log4j.appender.default.file.debug.append=true
log4j.appender.default.file.debug.file=${log}
log4j.appender.default.file.debug.threshold=DEBUG
log4j.appender.default.file.debug.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.debug.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# File appender for INFO log4j.appender.default.file.info=org.apache.log4j.FileAppender
log4j.appender.default.file.info.append=true
log4j.appender.default.file.info.file=${log}
log4j.appender.default.file.info.threshold=INFO
log4j.appender.default.file.info.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.info.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# File appender for WARN log4j.appender.default.file.warn=org.apache.log4j.FileAppender
log4j.appender.default.file.warn.append=true
log4j.appender.default.file.warn.file=${log}
log4j.appender.default.file.warn.threshold=WARN
log4j.appender.default.file.warn.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.warn.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# File appender for ERROR
log4j.appender.default.file.error=org.apache.log4j.FileAppender
log4j.appender.default.file.error.append=true
log4j.appender.default.file.error.file=${log}
log4j.appender.default.file.error.threshold=ERROR
log4j.appender.default.file.error.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.error.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
# File appender for FATAL
log4j.appender.default.file.fatal=org.apache.log4j.FileAppender
log4j.appender.default.file.fatal.append=true
log4j.appender.default.file.fatal.file=${log}
log4j.appender.default.file.fatal.threshold=FATAL
log4j.appender.default.file.fatal.layout=org.apache.log4j.PatternLayout
log4j.appender.default.file.fatal.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

编辑

查看了jboss服务器日志(server.log in/var/lib/openshift/52c0260d4382ec7329000120/jbosssas/logs)后,我可以看到以下内容

2014/03/31 17:29:58,393 ERROR [stderr] (MSC service thread 1-1) log4j:WARN No appenders could be found for logger (com.hotornot.database.DBFactory).
2014/03/31 17:29:58,425 ERROR [stderr] (MSC service thread 1-1) log4j:WARN Please initialize the log4j system properly.
2014/03/31 17:29:58,426 ERROR [stderr] (MSC service thread 1-1) log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

然而堆栈溢出表明属性文件不在类路径中-但它在源代码以及其他两个地方lol

有两件事很突出

  1. 类路径中没有以下内容:

    • /src/log4j . properties的
    • 部署资源/web - inf/log4j . properties的
    • WebContent/web - inf/log4j . properties的

    在您的web应用程序中尝试WEB-INF/classes(取决于您的构建在/src中应该将其复制到那里)

  2. 您的第一行是log4j.rootLogger=default.file.debug。这不应该是log4j.rootLogger=DEBUG, default.file.debug吗?它应该是一个级别,然后一个逗号,然后一个追加符。

你还需要那些附录吗?这难道不是一样的吗:

log4j.rootLogger=DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.FileAppender
log4j.appender.FILE.append=true
log4j.appender.FILE.file=${log}
log4j.appender.FILE.threshold=DEBUG
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

我需要把log4j props放在src/resources文件夹中-这是一个maven问题,因为它似乎有一个标准的目录,它检查log4j props

我不知道它在以后的版本中是如何的,在JBoss 4中有一个JBoss -log4j.xml,我想说这是默认使用的。

最新更新