何时使用 java 日志记录关闭和删除 FileHandler
我正在使用 java.util.logging API 并将多个 FileHandler 附加到指定的记录器,以将日志消息写入特定文件。我看到这为每个日志文件创建了一个 lck(锁定)文件。当我关闭并从指定的 Logger 中删除 FileHandler 时,锁定文件将被删除。
什么时候最好关闭 FileHandler?我是否想保持它打开,这样我就不必每次想做一些日志记录时都实例化它(这将导致锁定文件挂起),或者我应该每次关闭并重新创建它,以便锁定文件消失(对于日志记录来说似乎有点严厉)。
这确实是一个关于最佳实践的问题。我经常使用 log4j,所以我试图理解其中的差异。
谢谢,
艾德
I am using the java.util.logging API and atatching several FileHandlers to a named logger to write the log messages to specific files. I see that this creates a lck (lock) file for each log file. The lock file is deleted when I close and remove the FileHandler from the named Logger.
When is it best to close the FileHandler? Do I want to keep it open so that I don't have to instantiate it everytime I want to do some logging (which will result in the lock file hanging around) or should I close and recreate it each time so the lock file goes away (seems a bit heavy handed for logging).
Really a question about best practices. I have used log4j a lot so I am trying to get my head around the differences.
Thanks,
Ed
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
正如 Gray 提到的,通常没有理由关闭并重新打开 FileHandlers。
如果关闭程序后
.lck
没有消失,您可以尝试关闭Thread
中的文件处理程序,并使用Runtime.getRuntime将其添加为关闭挂钩().addShutdownHook()
。As Gray mentioned, there is usually no reason to close and reopen
FileHandlers
.If the
.lck
do not disapear after you close the program, you could try closing the Filehandlers in aThread
and add it as a Shutdown Hook withRuntime.getRuntime().addShutdownHook()
.