2014-01-29 5 views
5

Глядя на исходный код для dropwizard, я вижу, что есть специальный код для чтения файла .yml и настройка ведения журнала.Dropwizard Пользовательский файл журнала через Logback

Я хочу собственный собственный файл журнала, но я бы хотел использовать ротацию и сжатие, которые уже существуют в dropwizard.

Есть ли способ, за исключением клонирования кода для этого?

https://github.com/dropwizard/dropwizard/tree/master/dropwizard-logging/src/main/java/io/dropwizard/logging

В частности, похоже, необходимость создать свой собственный класс, который наследуется от io.dropwizard.FileAppenderFactory

Или я атакующий этой проблему с неправильным углом?

ответ

1

Если я правильно понял вас, вы просто хотите указать файл, в который нужно вносить правильный пароль?

В этом случае в ваших configuration.yml файл вам просто нужно добавить конфигурацию протоколирования файла:

logging: 

    # The default level of all loggers. Can be OFF, ERROR, WARN, INFO, 
    # DEBUG, TRACE, or ALL. 
    level: DEBUG 

    appenders: 
    - type: file 
     currentLogFilename: ./path/to/logfile.log 
     archivedLogFilenamePattern: ./path/to/logfile-%d.log.gz 
     archivedFileCount: 5 
     timeZone: UTC 

Заменить «/ путь/к/лог» с пути, который вы хотите, чтобы файл журнала будет , Не то, что при вращении% d будет заменено на дату вращения, согласно documentation.

Также проверьте различный configuration options для регистратора файлов.

+0

Примечание: dropwizard 0.6 не поддерживает использование «appenders» в конфигурационном файле, но 0,7 делает. –

+2

Могу ли я использовать существующий файл logback.xml вместе с yml-файлом? – Gaurav

2

Существует способ, но вам нужно изменить источник dropwizard и перекомпилировать его снова, если вы используете lib.In класс Application dropwizard, который вы распространяете, есть статический блок, такой как удар, просто комментируйте строки и используйте собственный logback.xml file.It действительно является боль в ....

static { 
    // make sure spinning up Hibernate Validator doesn't yell at us 
    LoggingFactory.bootstrap(); 
} 
Смежные вопросы