[英]Log4j:how to define a common layout and ConversionPattern for multiple appenders
[英]how can I set the log4j conversionpattern at runtime
我有一個Java應用程序,同時解析電子表格中的輸入。 我添加了從ant任務中獨立運行解析器部分的功能。 但是我正在使用的正常log4j模式會使輸出難以讀取,我想在運行時設置一個簡單的模式。
所以像log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %m%n
parseDebug = new Boolean(System.getProperty("ptpunit.parseDebug")).booleanValue();
if(parseDebug){
// SET CONVERSION PATTERN HERE
log.setLevel((Level) Level.DEBUG);
}
我想你可以這樣做:
ConsoleAppender a = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout");
a.setLayout(new PatternLayout("%d{HH:mm:ss} %-5.5p %t %m%n"));
當然,您必須根據您使用的類型更改Appender類型,您可能必須通過調用來取代“Logger.getRootLogger()”以獲取您的appender實際附加到的記錄器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.