gpt4 book ai didi

asp.net-core - 解决错误 - 无法解析类型 'Serilog.ILogger' 的服务

转载 作者:行者123 更新时间:2023-12-01 22:52:05 24 4
gpt4 key购买 nike

我正在尝试在 ASP.NET core 应用程序(.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) 在 Startup 类的构造函数中添加了以下几行 -

Log.Logger = new LoggerConfiguration()
.MinimumLevel.Debug()
.WriteTo.RollingFile(Path.Combine(env.ContentRootPath, "log-{Date}.txt"))
.CreateLogger();

3) 在 Startup 类的配置方法中添加了以下行 -

loggerFactory.AddSerilog();

4)像这样将记录器注入(inject) HomeController -

ILogger logger;

public HomeController(ILogger logger)
{
this.logger = logger;
}

5)在“关于”操作中,尝试记录这样的异常-

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: Unable to resolve service for type 'Serilog.ILogger' while attempting to activate 'AspNetCore_SeriLog_trial1.Controllers.HomeController'. at Microsoft.Extensions.Internal.ActivatorUtilities.GetService(IServiceProvider sp, Type type, Type requiredBy, Boolean isDefaultParameterRequired)
at lambda_method(Closure , IServiceProvider , Object[] ) at Microsoft.AspNetCore.Mvc.Internal.TypeActivatorCache.CreateInstance[TInstance](IServiceProvider serviceProvider, Type implementationType) at Microsoft.AspNetCore.Mvc.Controllers.DefaultControllerActivator.Create(ControllerContext controllerContext) at Microsoft.AspNetCore.Mvc.Controllers.DefaultControllerFactory.CreateController(ControllerContext context) at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.d__26.MoveNext()

有人可以帮我解决这个问题吗? Serilog 缺少任何配置吗?

最佳答案

尝试在 Controller 中执行以下操作。

    ILogger<HomeController> logger = null;
public HomeController(ILogger<HomeController> _logger)
{
logger = _logger;
}

关于asp.net-core - 解决错误 - 无法解析类型 'Serilog.ILogger' 的服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40701230/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com