gpt4 book ai didi

java - 格式化 Java 日志记录

转载 作者:行者123 更新时间:2023-11-29 09:15:43 29 4
gpt4 key购买 nike

我正在尝试通过属性文件格式化一些 java 日志记录,但是它不起作用。我在属性文件中有这些行:

java.util.logging.ConsoleHandler.formatter=mypackage.logging.LogFormatter
java.util.logging.FileHandler.formatter=mypackage.logging.LogFormatter

我的自定义格式化程序 LogFormatter 在 mypackage.logging 中的位置

日志输出显示正在使用 SimpleFormatter,而不是我的自定义格式化程序。

如何通过日志记录属性文件使用我的自定义格式化程序?

编辑:我已经尝试了所有预制的格式化程序,例如 com.bea.logging.LogMessageFormatter、SimpleFormatter 和 XmlFormatter。他们工作得很好。只是我创建的任何新格式化程序都不起作用(扩展格式化程序)。这可能是类路径问题吗?

最佳答案

LogManager 将向 System.err 报告错误,它可能被重定向到一个日志文件。找到该日志文件应该可以帮助您。

如果您正在处理 system class loader 中不可见的任何类你会遇到 JDK-6448699 LogManager does not load log handler correctlyJDK-6878454 LogManager class loading inconsistent with Java EE best practices .

为了证明您的格式化程序在系统类路径中可见,请尝试以下代码:

Class.forName("mypackage.logging.LogFormatter", true, ClassLoader.getSystemClassLoader());

您可以将 sun.misc.URLClassPath.debug 系统属性设置为 true 或在启动时使用 -verbose:class 来获取更多关于类加载的调试信息。

关于java - 格式化 Java 日志记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9536611/

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