2014-03-30 51 views
0

我遇到了一些关于在jboss上使用OpenShift和log4j进行日志记录的问题。使用log4j登录Openshift jboss时发生的问题

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

  • /src/log4j.properties
  • 部署的资源/ WEB-INF/log4j.properties
  • 的WebContent/WEB-INF/log4j.properties

有没有具体的我需要什么对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 

EDIT

具有对着JBoss服务器日志(server.log的在/ var/lib中/ openshift/52c0260d4382ec7329000120/jbossas /日志)我可以看到以下

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. 

但是,堆栈溢出表明属性文件不在类路径中 - 但它在源代码以及其他两个地方大声笑

+0

它看起来像一个'的JBoss -deployment-structure.xml'是必需的,如[this](http://middlewaremagic.com/jboss/?p=2065)文章([this] [http:// ericsilva。org/2012/06/18/application-level-logging-in-openshift-using-apache-commons-logging-on-jbossas7 /)文章,展示了如何将日志API与日志实现分开)。 – vanOekel

+0

嗯,我试着添加这个文件,仍然没有喜悦:( – Biscuit128

回答

0

我需要把LOG4道具在src /资源文件夹 - 它是一个行家的问题,因为它似乎它有一个标准的目录会检查log4j的道具

0

两件事情跳出来。

  1. 无以下的类路径上:

    • /src/log4j.properties
    • 部署的资源/ WEB-INF/log4j.properties
    • 的WebContent/WEB-INF/log4j.properties

    尝试WEB-INF/classes在您的web应用程序(取决于您的构建它在/src应该在那边复制)。

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

无论如何,你需要所有这些appender吗?这是不是可以同样的事情:

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 
0

我不知道它是如何在以后的版本中,JBoss的4存在的jboss-log4j.xml文件和我会说,默认情况下使用。您可以检查该文件..