1.安装Nlog.Web.ApsNetCore
2.添加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">
<!-- 要写入的目标 -->
<targets>
<!--将日志写入到文件中-->
<target xsi:type="File" name="allfile" fileName="logs/all/nlog-all-${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
<target xsi:type="File" name="ownFile-web" fileName="logs/my/nlog-cwiosapi-${shortdate}.log"
layout="${longdate}|${logger}|${uppercase:${level}}|${message} ${exception}" />
<target xsi:type="Null" name="blackhole" />
</targets>
<rules>
<!--所有日志,包括来自Microsoft的日志-->
<logger name="*" minlevel="Trace" writeTo="allfile" />
<!--跳过非关键的Microsoft日志,因此只记录自己的日志-->
<logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" />
<logger name="*" minlevel="Trace" writeTo="ownFile-web" />
</rules>
</nlog>
将文件属性改为始终复制,在CreateHostBuilder方法中添加添加最后一句。
如:
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
}).UseNLog();
完成后就可以使用private static Logger nLogger = LogManager.GetCurrentClassLogger();
nLogger.Info("21321421"); 这样来记录日志了