我已通过编程方式设置了Logback文件附加程序,并将日志级别设置为ALL
。
原因是设置日志级别ALL
我想在日志文件中包含所有日志详细信息,例如(INFO,DEBUG,WARN and etc...)
,但是我想避免从控制台获取这些详细信息。 。
记录器代码段
Reference
private static Logger createLoggerFor(String string, String file) {
LoggerContext lc = (LoggerContext) LoggerFactory.getILoggerFactory();
PatternLayoutEncoder ple = new PatternLayoutEncoder();
ple.setPattern("%date %level [%thread] %logger{10} [%file:%line] %msg%n");
ple.setContext(lc);
ple.start();
FileAppender<ILoggingEvent> fileAppender = new FileAppender<ILoggingEvent>();
fileAppender.setFile(file);
fileAppender.setEncoder(ple);
fileAppender.setContext(lc);
fileAppender.start();
Logger logger = (Logger) LoggerFactory.getLogger(string);
logger.addAppender(fileAppender);
logger.setLevel(Level.ALL);
logger.setAdditive(false); /* set to true if root should log too */
return logger;
}
注意:当我设置日志级别
WARN
或DEBUG
时,详细信息未显示在日志文件中以及控制台输出中。 最佳答案
这对我有用
logger.setAdditivity(false);