NLog-ASP.NETCore5入门文章转载请联系后台Q公众号。1.在VisualStudio2019中新建一个ASP.NETCore项目。需要版本16.8+2,在csproj中手动添加依赖或使用NuGet安装最新版本:NLog.Web.AspNetCore4.9+如果可能,更新csproj中的NLog包:3.创建一个nlog.config文件。在项目的根目录中创建nlog.config(全部小写)文件。我们使用以下示例:请注意,如果您删除所有其他LoggingProvider(如控制台)并仅使用NLog,您可能需要特别注意HostingLifetimeStartupMessages因为这会导致托管环境(VisualStudio/Docker/AzureContainers)看不到启动的应用程序。4、更新program.cs更新program.csusingMicrosoft.AspNetCore.Hosting;usingMicrosoft.Extensions.Hosting;usingMicrosoft.Extensions.Logging;usingSystem;usingNLog.Web;namespaceASP.NET_Core_5_NLog_Example{publicclassProgram{publicstaticvoidMain(string[]args){varlogger=NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();try{logger.Debug("initmain");CreateHostBuilder(args).Build().Run();}catch(Exceptionexception){//NLog:catchsetuperrorslogger.Error(exception,"Stoppedprogrambecauseofexception");throw;}finally{//Ensuretoflushandstopinternaltimers/threadsbeforeapplication-exit(AvoidsegmentationfaultonLinux)NLog.LogManager.Shutdown();}}publicstaticIHostBuilderCreateHostBuilder(string[]args)=>Host.CreateDefaultBuilder(args).ConfigureWebHostDefaults(webBuilder=>{webBuilder.UseStartup();}).ConfigureLogging(logging=>{logging.ClearProviders();logging.SetMinimumLevel(LogLevel.Trace);}).UseNLog();//NLog:放upNLogforDependencyinjection}}5.配置appsettings.json/appsettings.Development.json中指定的日志记录配置appsettings.json会覆盖对SetMinimumLevel的任何调用,因此“默认”:请根据您的需要适当删除或调整它。{“日志记录”:{“IncludeScopes”:false,“LogLevel”:{“默认”:“跟踪”,“Microsoft”:“警告”,“Microsoft.Hosting.Lifetime”:“信息”}},“AllowedHosts”:"*"}请记住还要更新任何特定于环境的配置以避免任何意外。前appsettings.Development.json6,写日志InjectILoggerintoyourcontroller:usingMicrosoft.Extensions.Logging;publicclassHomeController:Controller{privatereadonlyILogger_logger;publicHomeController(ILoggerlogger){_logger=logger;_logger.LogDebug(1,"NLoginjectedintoHomeController");}publicIActionResultIndex(){_logger.LogInformation("Hello,thisistheindex!");returnView();}7.示例输出启动ASP.NETCore网站时,我们得到两个文件:2020-12-2916:47:02.5291||DEBUG|ASP.NET_Core_5_NLog_Example.Program|initmain|url:|action:2020-12-2916:47:03.5943|1|DEBUG|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|NLoginjectedintoHomeController|url:https://localhost/|action:Index2020-12-2916:47:03.5943||INFO|ASP。NET_Core_5_NLog_Example.Controllers.HomeController|你好,这是索引!|url:https://localhost/|action:Index2020-12-2916:47:02.5291||DEBUG|ASP.NET_Core_5_NLog_Example.Program|initmain2020-12-2916:47:03.5260||信息|Microsoft.Hosting.Lifetime|Aapplicationstarted.PressCtrl+Ctoshutdown.2020-12-2916:47:03.5260||INFO|Microsoft.Hosting.Lifetime|Hostingenvironment:Development2020-12-2916:47:03.5260||INFO|Microsoft.Hosting.Lifetime|Contentrootpath:D:\nlog\NLog.Web\examples\ASP.NETCore5\ASP.NETCore5NLogExample2020-12-2916:47:03.5943|1|DEBUG|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|NLoginjectedintoHomeController2020-12-2916:47:03.5943||信息|ASP.NET_Core_5_NLog_Example.Controllers.HomeController|你好,这是索引!