一直很喜欢 NLog 的简洁和扩展性,所以准备将 ASP.NET Core 提供的默认日志提供程序替换成 NLog。
步骤 1
在项目的project.json
中添加依赖NLog.Extensions.Logging
:
"dependencies": {
"NLog.Extensions.Logging": "1.0.0-*"
}
或者通过NuGet程序包管理器添加。
步骤 2
在ASP.NET Core的启动类Startup
的Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
方法中添加:
// using NLog.Extensions.Logging;
loggerFactory.AddNLog();
//needed for non-NETSTANDARD platforms: configure nlog.config in your project root
env.ConfigureNLog("nlog.config");
步骤 3
在项目目录下添加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="Warn"
internalLogToTrace="true"
internalLogFile="AppData/Logs/NLogInternal.log">
<!--
- 日志文件被放置于 AppData/Logs 文件夹中,文件名为 {日志类目}.log 或 {日志类目}.err
- 日志按天存档,放置于 AppData/Logs/Archives/{日志类目} 文件夹中,文件名为 {日期}.log 或 {日期}.err
--&g