2011-10-24 88 views
2

我正在使用java.util.logging API并将几个FileHandler分别指向一个指定的记录器,以便将日志消息写入特定文件。我看到这会为每个日志文件创建一个lck(锁定)文件。当我关闭并从命名记录器中删除FileHandler时,锁定文件被删除。什么时候用java日志记录关闭并删除FileHandler

什么时候最好关闭FileHandler?我是否希望保持打开状态,以便每次我想执行一些日志记录(这会导致锁定文件挂起)时不必实例化它,或者每次关闭并重新创建它以便锁定文件消失(似乎有点严重的伐木)。

真的是一个关于最佳实践的问题。我已经使用了log4j很多,所以我试图让我的头脑围绕这些差异。

感谢,

埃德

+0

这是什么操作系统?我没有使用我们的日志文件获取锁定文件。这是NFS还是什么?无论如何,我看不出为什么你必须关闭并重新打开FileHandler。为什么你担心'.lck'文件有什么原因吗? – Gray

回答

1

灰色提到的,通常没有理由关闭并重新打开FileHandlers

如果在关闭程序后.lck不会消失,您可以尝试关闭Thread中的文件处理程序,并将其作为关机钩子添加到Runtime.getRuntime().addShutdownHook()