一、NuGet中安装NLog包
- NLog.Web.AspNetCore
- NLog
二、在项目添加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"
internalLogLevel="Warn"
internalLogFile="internal-nlog.txt">
<!-- autoReload:true 监视配置文件,并在配置文件发生更改时自动重新载入配置文件而不需要重启应用程序 -->
<targets>
<!-- archiveAboveSize 代表日志文本文件的最大字节数,单位字节 -->
<!-- maxArchiveFiles 代表存储的日志文件最大个数,设置后可以避免日志文件无限量增加,导致磁盘空间不够 -->
<target name="allfile" xsi:type="File" fileName="${currentdir}/Logs/${shortdate}.txt" archiveAboveSize="10000000" maxArchiveFiles="3" />
<target name="ownFile-web" xsi:type="File" fileName="${currentdir}/webLogs/${shortdate}.txt" archiveAboveSize="10000000" maxArchiveFiles="3" />
</targets>
<rules>
<!--All logs, including from Microsoft-->
<logger name="*" minlevel="Trace" writeTo="allfile" />
<!--Skip Microsoft logs and so log only own logs-->
<logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
<logger name="*" minlevel="Trace" writeTo="ownFile-web" />
</rules>
</nlog>
三、初始化NLog
builder.Logging.ClearProviders();
builder.Logging.AddNLog("Config/NLog.config");
builder.Host.UseNLog();
四、Controller直接使用
五、运行项目查看log
log 目录在bin 目录下