我构建了一个部署到在Linux上运行的WebSphere Portal Server的Portlet应用程序。每个portlet WAR使用log4j对于这样的配置记录,让每WAR两个日志文件:Log4j突然停止登录
log4j.logger.im.the.package=DEBUG, InfoAppender, DebugAppender
log4j.appender.InfoAppender=org.apache.log4j.RollingFileAppender
log4j.appender.InfoAppender.Threshold=INFO
log4j.appender.InfoAppender.File=/tmp/infoWARName.log
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.DebugAppender=org.apache.log4j.RollingFileAppender
log4j.appender.DebugAppender.Threshold=DEBUG
log4j.appender.DebugAppender.File=/tmp/debugWARName.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d %p [%c] - %m%n
部署后,一切正常般的魅力和日志文件开始填写。几个小时后,同时,记录停止,并且info.log
和debug.log
根本没有更新。我们需要在服务器中重新部署Portlet WAR以重新开始日志记录。
任何想法?
更新:
我开始怀疑它与我的日志罐子做的。目前,这是JAR的我WEB-INF/lib
文件夹中:
com.springsource.org.apache.commons.logging-1.1.1.jar
com.springsource.org.apache.log4j-1.2.15.jar
com.springsource.slf4j.api-1.5.6.jar
slf4j-log4j12-1.5.6.jar
第二次更新:
在从赏金到几个小时,这是Log4j的是如何在每一个Portlet应用程序配置。下面是web.xml
:
<context-param>
<param-name>log4jConfigLocation</param-name>
<param-value>classpath:miAppLog4j.properties</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
</listener>
而且miAppLog4j.properties
文件所在文件夹外部的战争和门户。我们通过Shared Library in WebSphere Portal在Portlet Classpath中使其成为可用。
你有没有检查'/ tmp'中是否有足够的空间存放日志? – tcb
我检查过了,硬盘上有足够的空间:只有4%被使用 –
你检查了SystemOut.log吗? – keuleJ