何时使用 java 日志记录关闭和删除 FileHandler

发布于 2024-12-11 07:35:52 字数 335 浏览 0 评论 0原文

我正在使用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

如若梦似彩虹 2024-12-18 07:35:52

正如 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 a Thread and add it as a Shutdown Hook with Runtime.getRuntime().addShutdownHook().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文