(.NETフレームワーク)私はそう遠解決エラー - 型「Serilog.ILogger」私はASP.NETのコアアプリケーションにSeriLogを実装しようとしています
行っ
以下されている手順のためのサービスを解決することができません。 1))Project.json
に言及下回っ"Serilog": "2.2.0",
"Serilog.Extensions.Logging": "1.2.0",
"Serilog.Sinks.RollingFile": "2.0.0",
"Serilog.Sinks.File": "3.0.0"
2を追加しましたあなたのスタートアップのコンストラクタに次の行を追加しました
Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile(Path.Combine(env.ContentRootPath, "log-{Date}.txt"))
.CreateLogger();
をクラス -
3)は例外をログに記録しようとすると、約アクションでthis-
ILogger logger;
public HomeController(ILogger logger)
{
this.logger = logger;
}
5)のようにHomeControllerにロガーを注入)
loggerFactory.AddSerilog();
4クラス - あなたのスタートアップのconfigureメソッドに次の行を追加しました私のアプリケーションを実行するにはthis-
public IActionResult About()
{
ViewData["Message"] = "Your application description page.";
try
{
throw new Exception("Serilog Testing");
}
catch (System.Exception ex)
{
this.logger.Error(ex.Message);
}
return View();
}
のように、私はエラー -
の下に取得していますSystem.InvalidOperationException:'AspNetCore_SeriLog_trial1.Controllers.HomeController'をアクティブ化しようとしているときに、「Serilog.ILogger」タイプのサービスを解決できません。 lambda_methodで Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider SP、タイプタイプ、タイプrequiredBy、ブールisDefaultParameterRequired)
Microsoft.AspNetCore.Mvc.Internal.TypeActivatorCacheで(閉鎖、IServiceProvider、オブジェクト[])で。 でMicrosoft.AspNetCore.Mvc.Controllers.DefaultControllerFactory.CreateController(ControllerContext 文脈)における Microsoft.AspNetCore.Mvc.Controllers.DefaultControllerActivator.Create(ControllerContext controllerContext)でのCreateInstance [TInstance(IServiceProvider サービス・プロバイダ、タイプimplementationType) Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__26.MoveNext()
誰でもこの手伝いをしてもらえますか? Serilogには設定がありませんか?
私はこれを試してみましたが、エラーを取得 - 'エラー\t CS0308 \t非ジェネリック型「ILoggerです」 – Sanket
arguments'タイプで使用することはできませんあなたはセリのILoggerですインターフェイスを使用しています、そのマイクロソフトのILoggerですインタフェースと交換してみてくださいロギングライブラリにあります。 – dotnetstep