[英]How do I create a new log4j ConsoleAppender in code as opposed to config?
我想以编程方式创建一个新的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来配置appender。 例如
ConsoleAppender ca = new ConsoleAppender();
ca.setWriter(new OutputStreamWriter(System.out));
ca.setLayout(new PatternLayout("%-5p [%t]: %m%n"));
logger.addAppender(ca);
此外,您可以使用以下命令设置appender的名称:
ca.setName("My appender");
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.