.NET Core 简单的使用内置日志组件

 .NET Core有很多第三方开源的日志组件,比如Nlog、log4j等日志框架,用起来也特别方便,只需要在使用的时候依赖注入一下,配置一下日志输入格式就可以了。但是如果你没有特殊的需求,.NET Core的内置日志也一样满足你的需求。接下来拿mvc 项目来展示内置日志组件的简单使用。

 使用步骤

1、新建一个asp .NET Core MVC 项目,如果是.NET Core 3.1以上版本,直接在构造函数里注入就可以了。.

2、在控制器中使用

创建ILogger对象的两种方式,一是使用ILogger<T>,二是使用ILoggerFactory,分别在控制器中构造构造函数注入。如下代码:

  public class HomeController : Controller    {        private readonly ILogger _logger;        private readonly ILogger _logger2;        public HomeController(ILogger<HomeController> logger, ILoggerFactory logger2,)        {            _logger = logger;            _logger2 = logger2.CreateLogger("test");        }        public IActionResult Index()        {            _logger.LogDebug("LogDebug1");            _logger.LogError("LogError1");            _logger.LogTrace("LogTrace1");            _logger.LogWarning("LogWarning1");            _logger2.LogError("LogError2");            return Content("测试");        }    }

我们在输出中可以打印出结果,如下图:

.NET Core 简单的使用内置日志组件

明明是5个日志信息,为啥只打印了3个,这就不得不说.NET CORE是有日志级别的,在规定的日志级别中才会输出相应对应的日志,这个可以在配置文件中设置。

日志级别表如下:
ASP.NET Core 定义了以下日志级别(按严重性从低到高排列): 
●跟踪Trace = 0
●调试Debug = 1
●信息 Information = 2
●警告 Warning = 3
●错误 Error = 4
●严重 Critical = 5
 
接下来具体看看两个方法的解释
ILogger:负责编写给定日志级别的日志消息。
ILoggerFactory:该类型用于配置日志记录系统并从已注册的 ILoggerProvider 创建 ILogger 的实例。您可以向工厂注册一个或多个ILoggerProvider,而工厂又使用它们全部创建ILogger的实例。ILoggerFactory保存ILoggerProviders的集合。
 
结语
    .NET Core 内置日志组件适合在调试和简单的日志记录中使用,当然你也可以编写扩展方法来使用,或者使用第三方日志组件。 最近状态不佳,写作水平有限,欢迎留言讨论。