La funzionalità di cui ho bisogno è scrittura di una riga di intestazione all'inizio del file di registro configurato. Il file di registro dovrebbe, inoltre, essere laminato su in base a un modello temporale (sto parlando di logback 1.0.7).Appender di logback personalizzato - Preliminare l'intestazione del file e renderlo rollover
Quindi, sto pensando di scrivere un Appender - anche se non sono sicuro se non è una consuetudine layout che ho effettivamente bisogno.
1) Appender
Per la documentazione del logback, il giusto approccio è quello di estendere AppenderSkeleton
, ma poi come faccio a combinare questo con l'RollingFileAppender
(per rendere il file rollover?)
D'altra mano, se estendo RollingFileAppender
, quale metodo devo sovrascrivere per decorare semplicemente la funzionalità esistente? Come posso dire di scrivere quella stringa particolare solo all'inizio del file?
2) Disposizione
Analogamente, l'approccio sembra essere estendere LayoutBase
, e fornendo un'implementazione doLayout(ILoggingEvent event)
. Ma ancora una volta, non so come decorare semplicemente il comportamento - basta aggiungere una nuova riga nel file, piuttosto che interrompere la sua funzionalità (perché voglio ancora che il resto dei log compaia correttamente).
Il in LayoutBase
sembra promettente, ma come si usa? È anche destinato a essere sovrascritto dai layout personalizzati? (probabilmente sì, dal momento che fa parte dell'interfaccia Layout, ma come?)
Grazie!
@teo sai come possiamo ottenere proprietà personalizzata definita in logback.xml nel metodo start di qualsiasi classe Appender personalizzato? – Mihir