2012-03-21 10 views
1

いつかnLogはすべてのデバッグ情報をログに記録していません(log.Debugのいくつかはデバッグファイルにありません)。nLogログデータがありません

は、ここで私は

private static Logger log = LogManager.GetCurrentClassLogger(); 
... 
log.Debug("Some debug info"); 

おかげで、次の使用しているコードで

<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 
    <variable name="appTitle" value="Service"/> 
    <targets async="true"> 
    <target name="fallbackDebug" xsi:type="FallbackGroup" returnToFirstOnSuccess="true"> 
     <target xsi:type="File" fileName="C:\Logs\${date:format=yyyyMMdd}_Debug.txt" layout="..."/> 
     <target xsi:type="File" fileName="C:\Logs\${date:format=yyyyMMdd}_Debug_bu.txt" layout="..."/> 
    </target> 
    </targets> 
    <rules> 
    <logger name="*" levels="Trace,Debug,Error,Fatal"  writeTo="fallbackDebug" /> 
    </rules> 
</nlog> 

私nLog構成です!

+0

どのように何かが欠落していることを知っていますか?この問題を再現する小さなサンプルアプリケーションを提供できますか? –

+0

私はこの問題を再現している小さなアプリケーションを提供することができません。なぜなら、私たちのシステムでは非常に大きく起こっており、短時間で多くのデバッグ情報を記録しているからです。私は何かが欠けていることを知っています。たとえば、DBで注文を作成する前に、そのアクションを記録しているからです。私がDBで見た場合、注文は表示されますが、そのアクションに対応するログは表示されません。 – zvjerka24

+0

奇妙な音。その特定の場所でNLogから独立した単純なログを追加して、それが動作するかどうかを確認することができます。それが動作しない場合、NLogでは問題はありませんが、コードを使用すると、注文を挿入する他のコードを実行するようです。あなたの単純なロギングは動作しますが、NLogは動作しない場合、NLogが何かを逃していることが分かりました。 –

答えて

1

最後にLogManager.Flush()メソッドを呼び出す必要があります。

例:

private static Logger log = LogManager.GetCurrentClassLogger(); 
... 
log.Debug("Some debug info"); 
... 
LogManager.Flush(); 
関連する問題