首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.logging配置属性文件中的log4j.appender.console.target等效项

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

Stack Overflow用户
提问于 2019-06-08 14:29:42
回答 1查看 133关注 0票数 0

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

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

代码语言:javascript
复制
import java.util.logging.Logger;
Logger logger = Logger.getLogger(MyClass.class.getName());

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

我知道我可以像下面这样添加处理程序来使用不同的流。

代码语言:javascript
复制
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框架也能做同样的事情。

EN

回答 1

Stack Overflow用户

发布于 2019-06-10 23:20:19

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

java.util.logging中没有ConsoleHandler target等效项。directing ConsoleHandler output to System.out is cover in another SO question的主题。你的大多数选择都在这个问题中列举出来了。

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56504068

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档