我已通过编程方式设置了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;
    }


注意:当我设置日志级别WARNDEBUG时,详细信息未显示在日志文件中以及控制台输出中。

最佳答案

这对我有用

logger.setAdditivity(false);

07-24 21:52