Log4J在应用程序登录时复制日志文件

时间:2014-03-13 13:57:42

标签: java log4j

我必须向Java应用程序添加一个方法来发送以帮助其日志。 要发送日志,我的意思是压缩并通过电子邮件发送Log4J使用的日志文件夹。 有时这个方法由于文件锁定而失败,可能是因为我想压缩log4j正在编写的东西。是否有东西可以解锁该文件或停止log4j写几个?

由于

2 个答案:

答案 0 :(得分:2)

如果在写入模式下打开某个文件但是已经存在锁定,则会发生文件锁定问题。仅在读取模式下打开文件应该是安全的。因此,您可以将文件复制到别处(到内存)并将其压缩到不同的位置,然后将其发布到帮助台。

答案 1 :(得分:0)

您可以考虑使用RollingFileAppender的{​​{3}}方法,以便强制它启动新文件。然后你只收集已关闭的文件,log4j不再使用,你也不会冒失去任何新日志的风险。