gpt4 book ai didi

java - java.util.logging 配置属性文件中的 log4j.appender.console.target 等效项

转载 作者:行者123 更新时间:2023-12-02 04:43:10 24 4
gpt4 key购买 nike

在配置属性文件中的java.util.logging框架中查找log4j.appender.console.target等效项(不使用代码)。

我有一千多个 Java 类。几乎所有人都有自己的 Logger 实例,例如:

import java.util.logging.Logger;
Logger logger = Logger.getLogger(MyClass.class.getName());

我的问题是,记录器将所有日志消息打印到 System.err 流。但是,我希望将其打印在 System.out 上。

我知道我可以添加如下所示的处理程序来使用不同的流。

logger.addHandler(new StreamHandler(System.out, new SimpleFormatter()))

但是我有相当多的 Java 类需要更改。我不想这样做。

如何使 java.uitl.logging 框架将日志消息打印到所有类的 System.out 流?

我正在属性文件中寻找对所有类都相同的配置设置。

就像 log4j 的情况一样,我们有 log4j.properties 文件,我可以在其中设置 log4j.appender.console.target=System.out,它告诉所有log4j 记录器将日志消息打印到 System.out。我也希望使用 java.util.logging 框架完成同样的事情。

最佳答案

How can I make java.uitl.logging framework to print log messages to System.out stream for all the classes?

java.util.logging 中没有等效的 ConsoleHandler target。话题directing ConsoleHandler output to System.out is cover in another SO question 。该问题中列举了您的大部分选项。

ConsoleHandler 将在构造过程中获取 System.err 的快照。一种选择是将全局错误流与全局输出流交换。构造完所有 ConsoleHandler 对象后,您可以将全局流交换回正确的位置。

关于java - java.util.logging 配置属性文件中的 log4j.appender.console.target 等效项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56504068/

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