0
logback에서 appender를 동적으로 추가하려고합니다. 여기 내 코드가있다.프로그래밍 방식으로 appender를 logback/slf4j에 추가하십시오.
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>();
String logFile = "new.log";
fileAppender.setFile(logFile);
fileAppender.setEncoder(ple);
fileAppender.setContext(lc);
fileAppender.start();
ch.qos.logback.classic.Logger logbackLogger =
(ch.qos.logback.classic.Logger)LoggerFactory.getLogger(ModuleMessageHandler.class);
logbackLogger.addAppender(fileAppender);
logbackLogger.setLevel(Level.DEBUG);
logbackLogger.setAdditive(false);
제대로 작동하지만 appender가 추가 된 특정 로거에서만 작동합니다. 이 응용 프로그램의 모든 로거에 대해 작동하도록하는 방법이 있습니까?
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>();
String logFile = "new.log";
fileAppender.setFile(logFile);
fileAppender.setEncoder(ple);
fileAppender.setContext(lc);
fileAppender.start();
가 ... 작성하고 파일 어 펜더를 시작합니다 : 동적으로 펜더에게 감사
당신은 루트 로거를 원합니다. Logger root = (Logger) LoggerFactory.getLogger (Logger.ROOT_LOGGER_NAME); –