gpt4 book ai didi

java - 我如何在代码中创建一个新的 log4j ConsoleAppender 而不是配置?

转载 作者:太空狗 更新时间:2023-10-29 23:02:08 25 4
gpt4 key购买 nike

我想以编程方式创建一个新的 log4j ConsoleAppender 并将其作为 appender 添加到记录器 - 我该如何正确实例化一个 - 使用以下内容似乎会使 log4j 提示 - 我需要使用什么 setter 来配置它合适吗?

// log4j complains of "No output stream or file set for the appender named [null]."
logger.addAppender(new ConsoleAppender());

大概是知道要在 ConsoleAppender 上设置什么,但我想不通。我假设有一些方法可以获得默认布局。我只想要一个附加到 SysOut 的标准 ConsoleAppender。任何指导表示赞赏,谢谢。

最佳答案

您需要在 appender 上设置一个 Writer(然后还要设置一个 Layout 以避免您将看到的下一个错误。)这意味着您不能使用匿名实例,因为您需要使用 setter 来配置附加程序。例如

ConsoleAppender ca = new ConsoleAppender();
ca.setWriter(new OutputStreamWriter(System.out));
ca.setLayout(new PatternLayout("%-5p [%t]: %m%n"));
logger.addAppender(ca);

此外,您还可以设置附加程序的名称:

ca.setName("My appender");

关于java - 我如何在代码中创建一个新的 log4j ConsoleAppender 而不是配置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1389501/

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