gpt4 book ai didi

仅部分考虑 Java 日志记录配置

转载 作者:行者123 更新时间:2023-12-01 16:12:26 24 4
gpt4 key购买 nike

我尝试使用 one-jar 交付的项目遇到问题打包器来简化部署过程。
如果没有打包,一切都可以正常工作,并且日志配置也已完美加载,但在打包内,仅应用了部分配置。

所以,这是我使用的logging.properties:

handlers= java.util.logging.ConsoleHandler, java.util.logging.FileHandler
.level= INFO
java.util.logging.FileHandler.pattern = C:\\MyPath\\logging.csv
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = my.package.logging.Formatter
java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = my.package.logging.Formatter

在我的主类中,这是我加载它的方式:

public class MainClass {
public static void main(final String[] args) {
try {
LogManager.getLogManager().readConfiguration(
new MainClass().getClass().getResourceAsStream("logging.properties"));
// main process goes here.
} catch(Exception e) {
// Exception handling
}
}
}

日志级别以及 FileHandler 模式都很好理解,因为日志记录最终会出现在正确的文件中,但是作为行 XML 输出,这让我认为格式化程序未加载,因为它通常输出 CSV 格式。

这可能与类路径问题有关吗?有谁知道如何处理这个问题吗?

最佳答案

您的 jar 中可能有多个logging.properties 文件,其设置相似但略有不同。当您将它们与一 jar 组合时,顺序会发生变化,其中之一会被隐藏。执行“jar -tf *.jar |greplogging.properties”并查看您所看到的内容。

如果这不起作用,您可以尝试将 onejar 结果解压缩到目录结构,然后使用类路径上的目录而不是 jar 运行吗?这将让您看看它是否与 jar 有关,并实际检查 onejar 中的logging.properties,看看它是否符合您的期望。

关于仅部分考虑 Java 日志记录配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/546492/

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