我从电子表格中解析输入时有一个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);
}
答案 0 :(得分:8)
我认为你可以这样做:
ConsoleAppender a = (ConsoleAppender) Logger.getRootLogger().getAppender("stdout");
a.setLayout(new PatternLayout("%d{HH:mm:ss} %-5.5p %t %m%n"));
当然你必须根据你正在使用的类型更改Appender类型,你可能需要通过调用来取代“Logger.getRootLogger()”以获取你的appender实际连接的记录器。