为项目增加程序集
using NLog.Extensions.Logging;
启动文件中增加Nlog注入
//增加Nlog日志
builder.Services.AddLogging(builder => { builder.AddNLog(); });
默认读取nlog.config文件,参考配置如下:
<?xml version="1.0" encoding="utf-8" ?>
<nlog xmlns="http://www.nlog-project.org/schemas/NLog.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
autoReload="true"
throwConfigExceptions="true"
internalLogLevel="info"
internalLogFile="internal-nlog.txt">
<!-- 布局规则 -->
<targets>
<!-- 文件目标 -->
<target xsi:type="File" name="f" fileName="logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
<target xsi:type="File" name="nn" fileName="logs/$nn-{shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<!-- 规则 -->
<rules>
<!-- 所有 log 级别的消息都使用 'f' 目标 -->
<logger name="*" minlevel="Debug" writeTo="f" />
<logger name="aa.*" minlevel="Debug" writeTo="nn" />
</rules>
</nlog>
控制器使用示例:
public class DepartmentController : Controller
{
private ILogger<DepartmentController> _logger;
public DepartmentController(ILogger<DepartmentController> _logger)
{
this._logger = _logger;
}
[HttpGet("api/Department/Index")]
public IActionResult Index()
{
_logger.LogInformation("日志测试");
_logger.LogInformation("日志测试2");
_logger.LogDebug("日志测试2");
return View();
}
}