1. 启动应用程序日志配置
修改program.cs
,在webhostbuilder构建时配置日志
public static iwebhostbuilder createwebhostbuilder(string[] args) =>
webhost.createdefaultbuilder(args)
.usestartup<startup>()
.configurelogging(logging =>
{
logging.clearproviders();
logging.setminimumlevel(loglevel.information);
logging.addconsole();
}).usenlog();
其中,usenlog是拓展方法,需要引入nlog.web.aspnetcore
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”>
<targets>
<target name=“defaultlog” xsi:type=“file” keepfileopen=“false” encoding=“utf-8”
filename=“${basedir}/logs/${level}/${shortdate}.log”
maxarchivefiles=”100″
layout=“${longdate}|${level:uppercase=true}|${logger}|${message}” />
<!–filename值——表示在程序运行目录,分日志级别按天写入日志文件–>
<!–maxarchivefiles值——日志文件最大数量,超出则删除最早的文件–>
<!–layout值——日志内容格式:时间+日志级别+loggername+日志内容–>
</targets>
<rules>
<!–支持将任意级别、任意loggername的日志写入target:defaultlog–>
<!–其中*就表示任意,可以改为”项目命名空间.*”,则只输出对应命名空间下的日志。在info级别尤为明显–>
<logger name=“*” minlevel=“trace” writeto=“defaultlog” />
</rules>
</nlog>
3. 实例化并使用
1)在控制器的构造方法赋值ilogger(亲测可用)
private readonly ilogger<homecontroller> _logger;
public homecontroller(ilogger<homecontroller> logger)
{ this._logger = logger; }
_logger.info(“一个info级别的测试样例”);
_logger.error(“一个error级别的测试样例”);
2)直接使用nlog.logmanager(可以忽略第一步)