Я хочу обновить Loggres или перенастроить конфигурацию log4j2 перед вызовом LoggerFactory.getLogger ($ {className}) (т.е. это slf4j api).
public void addAppender() {
LoggerContext ctx = (LoggerContext) LogManager.getContext();
Configuration config = ctx.getConfiguration();
PatternLayout layout = PatternLayout.newBuilder()
.withConfiguration(config)
.withPattern("%d{HH:mm:ss.SSS} %msg%n")
.build();
RollingFileAppender appender = RollingFileAppender.newBuilder()
.setConfiguration(config)
.withName("TestAppender")
.withLayout(layout)
.withFileName("logs/TestAppenderlog")
.withFilePattern("Zuzi")
.withPolicy(SizeBasedTriggeringPolicy.createPolicy("10KB"))
.build();
appender.start();
config.addAppender(appender);
LoggerConfig loggerConfig = config.getLoggerConfig("TestAppender") ;
loggerConfig.addAppender(appender, null, null);
ctx.updateLoggers();
}
Итак, здесь я хочу назвать это addAppender () в моем приложении java spring. Какое идеальное место для вызова этого метода. Пример: Это метод contextInitialized () или другие предложения?