gpt4 book ai didi

java - Log4j 不会在删除时重新创建文件

转载 作者:IT王子 更新时间:2023-10-29 00:33:14 56 4
gpt4 key购买 nike

我在 Tomcat 中有一个 Web 应用程序,它使用 log4j 进行日志记录。
如果我在 Web 应用程序运行时删除日志文件,这些文件不会重新创建?
如何配置 log4j 以在删除时重新创建文件而无需重新启动 Tomcat?

最佳答案

如果您的 tomcat 在 linux 服务器上,并且您以对日志文件夹没有执行权限的特定用户启动它,您的 log4j 将不会重新创建您的日志,因为它可能只有读/写权限。

如果是这种情况,请尝试:

chmod 755 在包含的文件夹上

编辑:

第二种可能是某些操作系统只有在文件不再使用时才完成“删除”操作。如果是这种情况,您的 tomcat 仍然可以在那里“看到”日志。

编辑2:

在这种情况下,创建一个 cron 作业,每隔几分钟检查一次文件是否存在。如果不只是重新创建它。我将在几分钟内提供解决方案。

所以你的 crontab 中的 bash 应该是这样的:

if [ ! -f /tomcat_dir/log4j.log ]
then
`touch /tomcat_dir/log4j.log`;
fi

关于java - Log4j 不会在删除时重新创建文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9937796/

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