2016-10-04 4 views
1

のocurrenceに基づいていくつかの1つのルールだけをログに記録:私は自分のアプリケーションが最初のルールにログインしよう、とあればしたいNLog - 私はNLog.configファイルに次のルール持っエラー

<rules> 
    <logger name="*" minlevel="Trace" writeTo="graylog" /> 
    <logger name="*" minlevel="Trace" writeTo="sqlserver" /> 
    <logger name="*" minlevel="Trace" writeTo="xml" /> 
    <logger name="*" minlevel="Trace" writeTo="console" /> 
</rules> 

をそれは成功し、このルールは最終的なものにして、どこにもログインしないようにする。エラーが発生した場合(例えば、Graylogサーバがダウンしている場合)、それは第2のルールに続き、以下同様である。

これを行う方法はありますか?

答えて

0

これにはFallbackGroupを使用できます。

<targets> 
    <target xsi:type="FallbackGroup" name="fallbackGroup" returnToFirstOnSuccess="true"> 
    <target name="graylog" ... /> 
    <target name="sqlserver" ... /> 
    <target name="xml" ... /> 
    <target name="console" ... /> 
    </target> 
</targets> 
<rules> 
    <logger name="*" minlevel="Trace" writeTo="fallbackGroup" /> 
</rules> 

これは(graylog)最初のターゲットをしようとすると、それが例外をスローした場合、次のターゲット(sqlserver)など

the docs

+0

にも感謝を参照してください!それは魅力のように働いた! –

関連する問題