2017-12-08 12 views
0

NLogの使用Nlog.configのminLevelを変更できるので、特定のログメッセージを除外できます。私はこれが一般に、ソフトウェアが本番環境で動作しているときには素晴らしいと思います。問題が発生した場合、私はminLevelを切り替えて詳細を見ることができます。意味あり。複数のログレベルでデバッグ中の余分なログ

「デバッグ」レベルのデバッグ中に問題が発生するのは、正直なところ、少し不十分なようです。これは主に、「デバッグ」が開発者が気にしているかもしれないすべてのものと他に誰も気づいていないようだからです。

多くのことをするバックエンドシステムでは、これが数秒で25 MBのログファイルを埋めることがわかりました。これをソートして一緒に結びつけるのはちょっと難しいです。

ログファイルを使用して実際に行う情報の量を制限するために、複数のレベルの「デバッグ」が可能ですか?

答えて

1

これはあなたの問題を解決するかどうかはありません必ず、

が、それは次のパターンを使用してNLogに一般的です: (LogManager.GetCurrentClassLogger()またはLogManager.GetLogger("loggernameForFlow1")を使用して)各クラスまたはプロセスのための

  • 使用異なるロガーを
  • 常にすべてのログメッセージをロガーに書き込みます(例:logger.Trace(...)logger.Debug(...)など
  • レベル別にログをフィルタリングしますが、lオッガー名。 LogManager.GetCurrentClassLogger()は現在のクラス名と名前空間を持つロガーを作成するので、クラスごとに簡単にフィルタリングできます。例えば、名前空間の

    フィルタ:

    <logger name="myNamespace.*" minLevel=... writeTo=... /> 
    

    フィルタ

    <logger name="myNamespace.MyClass.*" minLevel=... writeTo=... /> 
    
クラス1に
関連する問題