📜  c# serviceCollection AddLogging - C# (1)

📅  最后修改于: 2023-12-03 14:59:40.803000             🧑  作者: Mango

C# ServiceCollection AddLogging

在C#中使用logging功能,我们需要添加对应的依赖注入服务以及配置。在.NET Core中,我们可以使用Microsoft.Extensions.LoggingMicrosoft.Extensions.Logging.Console包来实现logging功能。使用这两个包,我们可以将log输出到控制台或者其他地方,以及定义log的等级和格式。

在使用这两个包前,我们需要将它们添加到ServiceCollection中。ServiceCollection是在ASP.NET Core应用程序中通过依赖注入(DI)技术构建服务的容器。AddLogging方法可以将ILoggerFactory添加到ServiceCollection中。

using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;

public void ConfigureServices(IServiceCollection services)
{
    services.AddLogging(logging =>
    {
        logging.AddConsole();
    });
}

在上面的示例中,我们添加了一个控制台logger,并将其添加到ServiceCollection中。现在,我们可以在应用程序中使用ILogger<T>接口来记录日志。

public class MyClass
{
    private readonly ILogger<MyClass> _logger;

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

    public void DoSomething()
    {
        _logger.Log(LogLevel.Information, "Information log");
        _logger.Log(LogLevel.Warning, "Warning log");
        _logger.Log(LogLevel.Error, "Error log");
    }
}

在上面的示例中,我们注入了ILogger<MyClass>接口。在DoSomething方法中,我们使用_logger接口记录了三种不同等级的log消息。

除了控制台logger,我们还可以添加其他类型的logger,如文件logger和数据库logger等。通过使用不同的logger,我们可以将log消息记录到任何我们想要的地方。

以上是关于C# ServiceCollection AddLogging的介绍,希望对您有所帮助。