我在Tomcat上部署的应用程序使用log4j来编写日志文件。如果我删除该文件,则该应用程序不会重新创建它。我也尝试手动重新创建它,但它始终是空的。有没有办法删除日志文件(不是从应用程序),在同一个路径中创建一个具有相同名称的新文件,并且可以由应用程序编写?
答案 0 :(得分:0)
有没有办法删除日志文件(不是来自应用程序),在同一个路径中创建一个具有相同名称的新文件,并且可以由应用程序编写?
不。您需要让应用程序本身重新启动日志记录。
问题是log4j appender仍然有一个删除文件的句柄,并将继续写入它...不知道它已被删除。
更好的方法是让应用程序本身处理"旋转"日志文件。查看实现log4j Appender
界面的classes以获取一些想法。