logback-ext-spring — не удается заставить работать RollingFileAppender

Я реализовал Logback в Spring Java Config, используя версию 0.1.4 logback-ext-spring. Мой ConsoleAppender, кажется, работает. Но хотя указанный файл журнала RollingFileAppender создается (log.log) и блокируется во время работы приложения, запись в него никогда не выполняется.

Вот полный класс. Как видите, я настроил его как @Configuration и автоматически соединяю компоненты вместе. Эта часть, похоже, работает, так как я могу отладить, что все подключается нормально.

Я передаю RollingFileAppender в AsyncAppender, но удаление этого, похоже, не меняет результатов.

@Configuration
public class LogbackConfig {

    @Autowired
    private LoggerContext loggerContext;
    @Autowired
    private PatternLayoutEncoder patternLayoutEncoder;

    @Autowired
    private ConsoleAppender consoleAppender;

    @Autowired
    private RollingFileAppender rollingFileAppender;

    @Bean
    public ApplicationContextHolder applicationContextHolder() {
        return new ApplicationContextHolder();
    }

    @Bean
    public LoggerContext loggerContext() {
        return (LoggerContext) LoggerFactory.getILoggerFactory();
    }    

    @Bean(initMethod = "start", destroyMethod = "stop")
    public PatternLayoutEncoder encoder() {
        PatternLayoutEncoder encoder = new PatternLayoutEncoder();
        encoder.setContext(loggerContext);
        encoder.setPattern(".%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg %n");
        return encoder;
    }

    @Bean(initMethod = "start", destroyMethod = "stop")
    public ConsoleAppender consoleAppender() {
        ConsoleAppender consoleAppender = new ConsoleAppender();
        consoleAppender.setContext(loggerContext);
        consoleAppender.setEncoder(patternLayoutEncoder);
        return consoleAppender;
    }

    @Bean(initMethod = "start", destroyMethod = "stop")
    public RollingFileAppender rollingFileAppender() {
        RollingFileAppender fileAppender = new RollingFileAppender();
        fileAppender.setContext(loggerContext);
        fileAppender.setFile("/logs/spring/log.log");
        fileAppender.setEncoder(patternLayoutEncoder);
        TimeBasedRollingPolicy<Object> policy = new TimeBasedRollingPolicy<>();
        policy.setContext(loggerContext);
        policy.setParent(fileAppender);
        policy.setFileNamePattern("%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n");
        fileAppender.setRollingPolicy(policy);
        return fileAppender;
    }

    @Bean (initMethod = "start", destroyMethod = "stop")
    public AsyncAppender asyncAppender () {
        AsyncAppender asyncAppender = new AsyncAppender();
        asyncAppender.setContext(loggerContext);
        asyncAppender.setQueueSize(500);
        asyncAppender.addAppender(rollingFileAppender);
        return asyncAppender;
    }


}

person javatestcase    schedule 17.02.2016    source источник
comment
Вы заставили его работать? Я столкнулся с аналогичной проблемой stackoverflow.com/questions/36999436/   -  person Stephane    schedule 19.05.2016
comment
Чтобы увидеть, используется ли ваша конфигурация вообще, прокомментируйте ее и посмотрите, изменится ли вывод консоли. Мой не сделал. Таким образом, в моем случае не только приложение файла, но и все приложения были проигнорированы.   -  person Stephane    schedule 19.05.2016