log4net: Configura per ignorare i messaggi da una class specifica

C’è un modo per avere la configurazione di log4net ignorare una class specifica? Ad esempio, generalmente creiamo un log in ogni class. Simile a questo:

private static readonly ILog Log = log4net.LogManager.GetLogger("MyClass"); 

Il problema è che MyClass registra una quantità MyClass di dati e diventa difficile trovare informazioni su altre classi. È un altro dev che usa MyClass modo che non possa semplicemente entrare e cambiare i file di registro, ma nel mio ambiente vorrei ignorarli.

Posso impostare il mio file di configuration per ignorare i messaggi di una class specifica?

Certo, usa un filtro.

Ecco lo snippet pubblicato sul blog, per riferimento futuro: tutto il merito dell’autore di quel post sul blog:

          

Un filtro funziona certamente ma preferirei distriggersre il logger (o la gerarchia del logger) direttamente in questo modo:

           

Supponendo che YourNameSpace.WithNoLogging sia uno spazio dei nomi, la configurazione mostrata disabilita la registrazione sull’intero spazio dei nomi. Il secondo “esempio” distriggers la registrazione per la tua class (in base alla tua domanda).

Suggerirei di usare anche i filtri . Tuttavia, dal momento che ho faticato a trovare l’intera immagine quando stavo cercando di implementare il filtro sto pubblicando un frammento di esempio del Configutation file ho creato che indica dove vanno i filtri.

Il filtro che stai cercando di ottenere in questo caso sarebbe

log4net.Filter.LoggerMatchFilter —- (Corrisponde all’avvio del nome del logger.)

Suggerimento nel file di config per Log4Net è importante dove si inseriscono i tag e la priorità di essi è davvero importante. Quindi in questo caso il tag viene dopo il tag di apertura e prima del .

    

In questa tecnica è ansible avere più appenders che è ansible redirect i risultati di registrazione di uno specifico logger a un appender separato invece di ignorarli. Come un appender per tutti i log e uno per i log filtrati per una class specifica.

Potresti provare ad applicare una categoria ai tuoi messaggi Prova questo thread: Come aggiungere il prefisso di categoria al messaggio log4net?