📅  最后修改于: 2023-12-03 14:59:40.803000             🧑  作者: Mango
在C#中使用logging功能,我们需要添加对应的依赖注入服务以及配置。在.NET Core中,我们可以使用Microsoft.Extensions.Logging
和Microsoft.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的介绍,希望对您有所帮助。