2017-08-17 20 views
2

ログは、私はそれを行うのですかPostSharp + NLogの組み合わせによりLogManager.DisableLogging();無効にnlogログはNLogで

を無効にすることができますか?

+0

なぜ 'LogManager.DisableLogging()'を呼び出さないのですか? – Julian

答えて

1

PostSharpロギングの有効化と無効化については、http://doc.postsharp.net/log-enablingで詳しく説明しています。

要するに

、あなたは2つのオプションがあります。特定のロギングの役割と名前空間のPostSharpのAPIを経由して

1)を無効にし、ロギング、例えば

LoggingServices.DefaultBackend.GetSource(LoggingRoles.Tracing, MyCompany.BusinessLayer").SetLevel(LogLevel.Debug);

2)ログのバックを使用しますエンドAPI。

この方法を使用する前に、ドキュメントに記載されている設定を行う必要があります。

しかし、NLogのLogManager.DisableLogging();はPostSharpによってそのまま認識されるため、このログを使用してPostSharpロギングを含めて完全にロギングを無効にすることができます。

+0

以下のコードでは、LogManager.DisableLogging()は影響を与えませんでしたが、まだメソッドの入力/終了トレースを取得しています。 'static void Main(文字列[] args) { LoggingServices.DefaultBackend = new PostSharp.Patterns.Diagnostics.Backends.Console.ConsoleLoggingBackend(); NLog.LogManager.DisableLogging(); f(); } [ログ] パブリック静的ボイドF(){ }}もし 'ConsoleLoggingBackend'代わりに' NLogLoggingBackend'を使用しているための ' –

+1

。 PostSharpロギングでNLogを使用するには、パッケージ* PostSharp.Patterns.Diagnostics *と* PostSharp.Patterns.Diagnostics.NLog *をプロジェクトに追加し、NLogのドキュメントに従ってNLogを初期化し、NLogを 'LoggingServices.DefaultBackend = new PostSharp.Patterns.Diagnostics.Backends.Console.NLogLoggingBackend(); '。 –

+0

私の間違い。できます。ありがとう。 –