我想以编程方式创建一个新的log4j ConsoleAppender并将其作为追加器添加到记录器中-我该如何正确地实例化它-使用以下方法似乎使log4j提示-我需要使用哪些 setter 来正确配置它?
// log4j complains of "No output stream or file set for the appender named [null]."
logger.addAppender(new ConsoleAppender());
大概是知道在ConsoleAppender上设置什么的情况,但我不知道。我认为有某种方法可以获取默认布局。我只想要一个附加到SysOut的标准ConsoleAppender。任何指导表示赞赏,谢谢。
最佳答案
您将需要在附加程序上设置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");