java.util.logging.FileHandler 和多线程

标签 java java.util.logging filehandler

java.util.logging 中的 FileHandler 类为其写入的文件实现某种锁定机制。但是我发现应用程序完成后,文件系统中存在一个 .lck 文件。有没有办法自定义 FileHandler 类相对于 .lck 文件或整个锁定机制的行为?

编辑:似乎当我关闭 FileHandler 对象时,.lck 文件消失了。这是想要的行为吗?我不知何故期望应该自动调用 FileHandler 的 close 方法...

最佳答案

您可以使用函数 System.addShutdownHookFinalizer(Runnable r) 来激活线程,该线程的工作是关闭所有未关闭的内容。所以你将关闭 FileHandler 并且 .lck 文件将消失

关于java.util.logging.FileHandler 和多线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11718140/

相关文章:

Java Jama 矩阵

c++ - 使用 C++ 异常的内存泄漏

java - Tomcat6 似乎没有加载我的 LogFormatter 类

java - 如何从命令行参数设置 java.util.logging.ConsoleHandler.level?

java - 在 logging.properties 中自定义日志格式

java - 获取 Formatter 的调用者类名 [使用文件处理程序进行 Java 日志记录]

python-3.x - Python 记录器困惑

java - 强制执行gradle的部署顺序

java - 使用 Eureka 作为使用 REST API 的注册表

java - 为 SQL 中的每个字母创建文件的最佳方法