2013-05-17 17 views
12

Molto spesso voglio escludere la registrazione da uno specifico logger chatty fino a un certo livello. Purtroppo, la prima delle seguenti regole è finale per tutti i livelli di quel registratore, in modo che la seconda regola (che è semplicemente la mia regola di default) non registrerà nulla da esso:Regole numeriche e finali

<logger name="ChattyLogger" maxlevel="Warn" writeTo="blackhole" final="true" /> 

<logger name="*" minlevel="Info" writeTo="default" /> 

Una possibilità è quella di utilizzare i filtri invece:

Ma la sintassi è brutta, soprattutto la lunghezza e la necessità di sfuggire all'espressione della condizione.

Dal momento che questo sembra un requisito così comune, mi chiedo se trascuro qualcosa.

Sto usando nlog in Silverlight, ma presumo che non dovrebbe avere importanza.

risposta

7

Prova questo:

<logger name="ChattyLogger" maxlevel="Warn"/> 
<logger name="ChattyLogger" minlevel="Error" final="true" writeTo="default"/> 
<logger name="*" minlevel="Info" writeTo="default" /> 
+0

Grande risposta, ma sicuramente la prima linea non fa nulla, e può essere rimosso? –

Problemi correlati