gpt4 book ai didi

log4j 文件不滚动 - Websphere 7,Windows

转载 作者:行者123 更新时间:2023-12-02 00:11:06 24 4
gpt4 key购买 nike

我有一个应用程序在使用 log4j 的 Windows 服务器环境中的 Websphere 上运行。系统正在记录并且似乎遵守 log4j.properties 中定义的 MaxFileSize 限制(20KB - 见下文),但没有滚动日志文件。相反,它只是覆盖现有的日志文件。

这是我在 Websphere 中定义的 log4j.properties 文件:

log4j.rootLogger=debug, file

log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=F:\\<log_file_directory\\<log_file_name>.log
log4j.appender.file.MaxFileSize=20KB
log4j.appender.file.MaxBackupIndex=50
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

我的理论是,当 log4j 尝试滚动文件时,应用程序/JVM 会保留对日志文件的引用,并且 Windows 会看到该文件正在使用并阻止它被移动。但我不确定这一点。

有人看到日志文件不滚动的任何原因吗?还是我的理论是正确的?

最佳答案

我的问题的解决方案是将 log4j 设置为 WebSphere 中的共享 jar 文件。每个单独的应用程序都有一个对 log4j 打开的文件描述符,防止日志在达到 MaxFileSize 时滚动。

一旦我将 log4j 设置为共享 jar 并弹回服务器,日志就会按预期滚动。我用 MaxFileSize 的多种尺寸对此进行了测试,并且都按预期工作。

关于log4j 文件不滚动 - Websphere 7,Windows,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15341976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com