gpt4 book ai didi

java.util.logging FileHandler.count 不工作

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:25:27 26 4
gpt4 key购买 nike

我正在为一个项目使用 java.util.logging,但遇到了配置问题。我有一个我知道正在读取的 logging.properties 文件,因为例如级别和文件处理程序模式的更改生效。

问题是,即使我试图强制只存在一个日志文件,java.util.logging 仍坚持创建其他日志文件。我读过 docs这是 FileHandler 的示例配置:

java.util.logging.FileHandler.pattern = server.log
java.util.logging.FileHandler.limit = 500000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.append = false
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

结果是文件被创建为 server.log.1、server.log.2 等。理想情况下我不希望 append 为真(似乎没有什么区别...),我只想每次启动程序时都会创建一个新的日志文件,可能会覆盖现有文件。在任何时候,我的目录中都不应超过 count 个日志文件。

更改追加和计数似乎没有任何区别。在模式中使用 %u 和 %g 等似乎也没有太大区别。我仍然不断收到使目录困惑的 server.log.n 文件。

每个创建的文件还有一个附带的 .lck 文件。为什么要创建它们?它们可能是罪魁祸首吗?

编辑:

不知道为什么我以前没有尝试过这个,但是手动删除 .lck 文件会导致事情按预期工作。所以现在真正的问题是:为什么要创建 .lck 文件(不正确关闭?)以及如何处理?

最佳答案

这只会在 FileHandler 检测到 server.log 文件被锁定时发生。您同时运行两个 JVM,同时打开指向相同文件名的 FileHandler 的两个实例,或者另一个进程在打开 FileHandler 之前锁定 server.log 文件。

相关:Is java.util.logging.FileHandler in Java 8 broken? , JavaLogger randomly writes to a second fileFileLock .

关于java.util.logging FileHandler.count 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169256/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com