Функциональность, которая мне нужна, — это запись строки заголовка в начале настроенного файла журнала. Файл журнала должен, кроме того, прокручиваться в зависимости от времени (я имею в виду logback 1.0.7).
Итак, я думаю о написании Appender, хотя я не уверен, что это не пользовательский Layout, который мне действительно нужен.
1) Добавление
Согласно документации logback, правильный подход — расширить AppenderSkeleton
, но тогда как мне объединить это с RollingFileAppender
(чтобы сделать перенос файла?)
С другой стороны, если я расширяю RollingFileAppender
, какой метод мне переопределить, чтобы просто украсить существующую функциональность? Как мне сказать ему писать эту конкретную строку только в начале файла?
2) Макет
Аналогичным образом подход расширяет LayoutBase
и обеспечивает реализацию doLayout(ILoggingEvent event)
. Но опять же, я не знаю, как просто украсить поведение — просто добавить новую строку в файл, а не нарушить его функциональность (потому что я все еще хочу, чтобы остальные журналы отображались правильно).
getFileHeader()
в LayoutBase
выглядит многообещающе, но как мне его использовать? Он вообще предназначен для переопределения пользовательскими макетами? (наверное да, так как это часть интерфейса Layout, но тогда как?)
Спасибо!