2016-03-17 15 views
6

だから私は、デフォルトでは、私のStartup.csでこれを持っている:Webアプリケーション用のASP.NET Core 1.0でLoggerFactoryログコンソールを表示するにはどうすればよいですか?

loggerFactory.AddConsole(Configuration.GetSection("Logging")); 
loggerFactory.AddDebug(); 

にはどうすればloggerFactoryが追加され、コンソールを見ていますか?デバッグ出力ウィンドウにログ情報が表示されますが、それは残りの自動デバッグ情報と非常に混乱しており、見つけにくいです。

ロガーコンソールを表示する方法はありますか?そうでない場合は、のみを表示する方法ログインしますか?

答えて

1

これを実現する1つの方法は、ILoggerFactoryクラスとILoggerクラスの独自の実装を実装することです。すなわち

public class MyLoggerFactory : ILoggerFactory {...} 
public class MyConsoleLogger : ILogger {...} 

あなたはログに建てられたMicrosoftのの実装を見て、必要に応じてこれらに基づいて独自に作成することができます。 ​​

これは、デフォルトのログメソッドをオーバーライドしても、作成することができますあなた自身があなたのログに記録されたものとあなたが必要としているものとの間の識別を上書きします。

独自の実装を持っていたら、あなたは、次のようにそれを登録することができます

//Register logging 
var loggerConfig = Configuration.GetValue("Logging", new MyLoggingConfig()); 

var loggerFactory = new MyLoggerFactory(loggerConfig); 
services.AddSingleton(typeof(ILoggerFactory), loggerFactory); 
services.AddLogging(); 

私は私のテストプロジェクトでこれを行っている、それが私たちのために適しています。また、必要に応じてデータベースロガーの他の実装を作成することもできます。

3

フレームワークによって生成されるクラッターをデバッグウィンドウに表示するには、ログに記録するアスペクトを選択できます。

特に、(VS 2015の)メッセージの大部分である「モジュールロードメッセージ」をオフにします。また、「スレッド終了メッセージ」は、オフにすることも考慮する必要があります。

ツール - >オプション - >デバッグ - >出力ウィンドウ:

"Module Load Messages" logging options in Visual Studio 2015

関連する問題