私は(ASP.NET 5 RC1に)コンテナにログインするサービスを追加する場合:の分離アプリケーションレベルのロギングおよびフレームワークレベルのログ
services.AddSingleton<ILoggerFactory>();
services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));
//or just services.AddLogging();
は、その後、私は私のアプリ層でロガーを使用することができます。
class MyAppLogicService
{
public MyAppLogicService(ILogger<MyAppLogicService> logger)
{
logger.LogInformation("Hey");
}
}
しかし、この場合には、私のlogger.LogInformation()イベントは、(リクエストあたり最大10個の開発者によると!)重要でないフレームワーク情報イベントと混合します。
ASP.NET 5 documentation states:
あなたが アプリケーションとそのAPIのレベルではなく、フレームワークのレベルでアプリケーションログを実行することをお勧めします。 フレームワークにはすでにログが組み込まれており、 で適切なログの詳細度を設定するだけで有効にすることができます。
これはどういう意味ですか? ILogger/ILoggerFactoryをクライアントコード(アプリケーションロジック)で使用することはお勧めしませんか?
フレームワークレベルのログからアプリレベルのログを分離するための洗練されたソリューションとは何ですか?今、私はContextSourceによってSerilogとフィルタを使用していますが、これははるかにエレガントからです...