首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在ILogger MVC 6中注册注入ASP.NET

如何在ILogger MVC 6中注册注入ASP.NET
EN

Stack Overflow用户
提问于 2015-05-12 15:11:18
回答 5查看 47.9K关注 0票数 52

我有一个ASP.NET MVC 6 (beta-4)应用程序。

代码语言:javascript
复制
public void ConfigureServices(IServiceCollection services)
{
    // Logging
    services.AddLogging();

    // ...
}

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)
{
    // Add the console logger.
    loggerfactory.AddConsole(minLevel: LogLevel.Warning);

    // ...
}

我有个控制器..。

代码语言:javascript
复制
public class HomeController : 
    Controller
{
    ILogger _logger;

    public HomeController(ILogger logger) 
    {
        _logger = logger;
    }

    // ...
}

但是当我没有得到正确注册的服务时:InvalidOperationException: Unable to resolve service for type 'Microsoft.Framework.Logging.ILogger' while attempting to activate 'HomeController'.。我登记记录器有什么问题吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-05-12 17:27:56

我以为services.AddLogging();做了正确的事情并注册了ILogger。在查看了源代码(https://github.com/aspnet/Logging/blob/d874c5726e713d3eb34938f85faf7be61aae0f2a/src/Microsoft.Framework.Logging/LoggingServiceCollectionExtensions.cs)之后,我发现它实际上是在注册ILogger<>。将ILogger的签名更改为ILogger<HomeController>使上述示例工作。

代码语言:javascript
复制
public class HomeController : 
    Controller
{
    ILogger<HomeController> _logger;

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

    // ...
}

感谢史蒂夫让我走上了正确的轨道找到了这个。

票数 100
EN

Stack Overflow用户

发布于 2017-01-09 21:36:47

services.AddLogging();不适合我,所以我将这两条语句添加到ConfigureServices

代码语言:javascript
复制
services.AddSingleton<ILoggerFactory, LoggerFactory>();
services.AddSingleton(typeof(ILogger<>), typeof(Logger<>));

现在DI容器是愉快的,一切都正常。

票数 11
EN

Stack Overflow用户

发布于 2022-06-17 10:40:32

可以将以下行添加到ConfigureServices()方法中:

代码语言:javascript
复制
services.AddTransient<ILogger>(s => s.GetService<ILogger<Program>>());
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30194919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档