删除后,Log4j不会重新创建日志文件

时间:2017-01-17 14:52:36

标签: java tomcat logging log4j

我在Tomcat上部署的应用程序使用log4j来编写日志文件。如果我删除该文件,则该应用程序不会重新创建它。我也尝试手动重新创建它,但它始终是空的。有没有办法删除日志文件(不是从应用程序),在同一个路径中创建一个具有相同名称的新文件,并且可以由应用程序编写?

1 个答案:

答案 0 :(得分:0)

  

有没有办法删除日志文件(不是来自应用程序),在同一个路径中创建一个具有相同名称的新文件,并且可以由应用程序编写?

不。您需要让应用程序本身重新启动日志记录。

问题是log4j appender仍然有一个删除文件的句柄,并将继续写入它...不知道它已被删除。

更好的方法是让应用程序本身处理"旋转"日志文件。查看实现log4j Appender界面的classes以获取一些想法。