.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("测试");
}
}
我们在输出中可以打印出结果,如下图:
明明是5个日志信息,为啥只打印了3个,这就不得不说.NET CORE是有日志级别的,在规定的日志级别中才会输出相应对应的日志,这个可以在配置文件中设置。