Пользовательский файл журнала Dropwizard через Logback

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

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

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

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

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

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


person user1509463    schedule 29.01.2014    source источник


Ответы (2)


Есть способ, но вам нужно изменить источник dropwizard и перекомпилировать его снова, если вы используете библиотеку. В классе приложения dropwizard, который вы расширяете, есть статический блок, такой как удар, просто прокомментируйте строки и используйте свой собственный журнал. xml. Это действительно боль в сердце....

static {
    // make sure spinning up Hibernate Validator doesn't yell at us
    LoggingFactory.bootstrap();
}
person armin    schedule 27.01.2015

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

В этом случае в вашем файле 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

Замените «/path/to/logfile» на путь, по которому вы хотите, чтобы файл журнала был. Это не значит, что при ротации %d будет заменен датой ротации, в соответствии с документация.

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

person joaomvfsantos    schedule 25.03.2014
comment
Примечание: dropwizard 0.6 не поддерживает использование «приложений» в конфигурационном файле, но 0.7 поддерживает. - person Iskandar Najmuddin; 27.03.2014
comment
Могу ли я использовать существующий файл logback.xml вместе с файлом yml? - person Gaurav; 31.03.2014