繁体   English   中英

Log4J fileappender无法在Websphere 7上滚动

[英]Log4J fileappender doesn't roll on Websphere 7

我当前的项目使用Log4j记录日志输出,但是当将其部署在Websphere 7上时,似乎日志文件始终被服务器占用,因此Log4J无法关闭它并打开新文件。 如果处于DEBUG级别,则当前日志文件可以扩展到1.5 Gb。 我浏览了一些在线教程,但没有一个可靠的解决方案。 因此,对于使log4J在WS 7上运行的任何意见或经验,我都会打开此线程。

当前的log4J在1.2.15上,该项目是一个普通的POJO / JSP应用程序,没有其他容器(例如Spring,我在Spring / tomcat上确实有另一个具有相同问题的项目,将在另一个线程中打开)。 这是log4j.properties:

log4j.rootCategory=INFO, ROL
#
# Rolling File Appender
#
log4j.appender.ROL=org.apache.log4j.RollingFileAppender
log4j.appender.ROL.Encoding=UTF-8
log4j.appender.ROL.File=C\:\\Logs\\AppOut.log
log4j.appender.ROL.MaxFileSize=10000KB
log4j.appender.ROL.MaxBackupIndex=10
log4j.appender.ROL.layout=org.apache.log4j.PatternLayout
log4j.appender.ROL.layout.ConversionPattern=%d -- %p -- %c -- %m%n

但是此配置不会使日志文件翻转。

更新:

似乎每次停止应用程序(而不是服务器)后尝试删除日志文件时,总是说“该文件是由另一个应用程序打开的”,它仅指Websphere。 我可以保证没有其他应用程序正在打开日志文件。 解除锁定的唯一方法是停止application server

预先感谢您的任何想法。

我们使用的是7(位于顶部的Portal Server 6.1)。 (我们使用sl4j库包装对记录器的调用,但我认为这与这里的问题无关)。 除了没有设置根类别,并且将additivty显式设置为false之外,几乎看不到任何主要区别。

以下是我们配置的一部分(仅显示我们的附加程序之一),该配置工作正常,并按预期每10MB滚动日志。 也许这是在WAS本身中配置的-我不是WAS管理员专家,我自己也没有安装WAS,但可以在星期一询问我们的一位管理员,是否还没有解决。

log4j.logger.com.xxx.protection=TRACE, A1
log4j.additivity.com.xxx.protection=false

# other appenders excluded

log4j.appender.A1=org.apache.log4j.RollingFileAppender
log4j.appender.A1.File=${LOG_ROOT}/applLogs/ui_and_business_logic.log
log4j.appender.A1.MaxFileSize=10MB
log4j.appender.A1.MaxBackupIndex=10
log4j.appender.A1.Append=true
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%d %p %t %c MSG: %m%n

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM