Ho una configurazione logback che ha un appender con un filtro di soglia:logback - la riassegnazione di un livello di registro per un logger specifici
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>INFO</level>
</filter>
...
</appender>
Questo assicura che solo informazioni e più alta (in guardia, errore) vengono registrati in syslog . Tuttavia, una delle librerie di terze parti che usiamo sta registrando un evento particolare su DEBUG, e vorrei registrare questo evento su syslog. Il primo approccio che avevo in mente era di provare a rimappare il livello di log nel logger, ma non sono sicuro che sia possibile? Qualcosa del tipo:
<logger name="akka.some.Thing" level="DEBUG" logAs="INFO">
<appender-ref ref="SYSLOG" />
</logger>
ovviamente, il parametro "logAs" non esiste, quindi non posso farlo. Quale sarebbe l'approccio migliore per registrare akka.some.Thing sull'appender SYSLOG lasciando il filtro in posizione per altri logger?
L'altro approccio sarebbe quello di creare un secondo appender chiamato SYSLOG2 che non ha il filtro sul posto e impostare il logger specifico per utilizzarlo, ma si chiedeva se c'era un modo per configurare il logback con solo 1 appender SYSLOG ...
Grazie,
Perché hai il filtro Soglia? Le altre configurazioni di "logger" inviano livelli superiori a INFO a questo appender? Se è così, perché? –
Sì, registriamo in 2 posizioni. l'appender di syslog finisce in un indicizzatore con gruppi di licenze, quindi non vogliamo mai registrare nulla di più basso di INFO. Tuttavia, quando vogliamo eseguire il debug abilitiamo il debug e questo va a un appender di file (senza tutto il gunk di debug in syslog). – Brett
Interessante. Se il tuo ambiente lo consente, il modo più semplice sarebbe quello di scrivere il tuo piccolo filtro che DENY avrebbe qualsiasi cosa che avesse problemi di licenza. Altrimenti, uno dei filtri più complessi, che consente espressioni, potrebbe funzionare, ma un secondo appender sarà probabilmente più facile da capire e mantenere. –