[英]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.