参考:NLog Getting started with ASP.NET Core 2
在 Program 中 UseNLog:
using System;using Microsoft.AspNetCore;using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Logging;using NLog.Web;namespace StudentManagement{public class Program{public static void Main(string[] args){// NLog: setup the logger first to catch all errorsvar logger = NLogBuilder.ConfigureNLog("nlog.config").GetCurrentClassLogger();try{logger.Debug("init main");CreateWebHostBuilder(args).Build().Run();}catch (Exception ex){//NLog: catch setup errorslogger.Error(ex, "Stopped program because of exception");throw;}finally{// Ensure to flush and stop internal timers/threads before application-exit (Avoid segmentation fault on Linux)NLog.LogManager.Shutdown();}}public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().ConfigureLogging(logging =>{logging.ClearProviders();logging.AddConsole();logging.AddDebug();logging.AddEventSourceLogger();logging.SetMinimumLevel(LogLevel.Trace);}).UseNLog(); // NLog: setup NLog for Dependency injection}}
