ASP.NET Core之NLog使用

Laughing
2019-02-26 / 0 评论 / 1,250 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年03月18日,已超过341天没有更新,若内容或图片失效,请留言反馈。

添加NLog插件

修改NLog配置文件

可以通过Nuget安装,NLogConfigure

手工添加NLog.Configure文件,如下

using System;  
using System.Collections.Generic;  
using System.Diagnostics;  
using System.Linq;  
using System.Threading.Tasks;  
using Microsoft.AspNetCore.Mvc;  
using Microsoft.Extensions.Logging;  
using NLog;  
using Web.Models;  
  
namespace Web.Controllers  
{  
    public class HomeController : Controller  
    {  
        private readonly ILogger<HomeController> _log;  
  
        public HomeController(ILogger<HomeController> log) => _log = log;  
        static Logger logger = LogManager.GetCurrentClassLogger();  
  
        public IActionResult Index()  
        {  
            logger.Info("测试日志乱码");  
            return View();  
        }  
  
        public IActionResult Privacy()  
        {  
            return View();  
        }  
  
        [ResponseCache(Duration = 0, Location = ResponseCacheLocation.None, NoStore = true)]  
        public IActionResult Error()  
        {  
            return View(new ErrorViewModel { RequestId = Activity.Current?.Id ?? HttpContext.TraceIdentifier });  
        }  
    }  
}

修改StartUp.cs文件

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)  
        {  
            app.UseRequestIP();  
            loggerFactory.AddNLog();  
            env.ConfigureNLog("NLog.configure");  
            app.Use(async (context, next) =>  
            {  
                context.Items["IsVerified"] = true;  
                await next.Invoke();  
            });  
  
            if (env.IsDevelopment())  
            {  
                app.UseDeveloperExceptionPage();  
                app.UseDatabaseErrorPage();  
            }  
            else  
            {  
                app.UseExceptionHandler("/Error");  
            }  
            app.UseStaticFiles();  
            //app.UseDirectoryBrowser();  
            app.UseAuthentication();  
            app.UseSession();  
            app.UseMvc(routes =>  
                                    {  
                                        routes.MapRoute(  
                                            name:"area",  
                                            template: "{area:exists}/{controller=Home}/{action=Index}/{id?}"  
                                            );  
                                        routes.MapRoute(  
                                            name: "default",  
                                            template: "{controller=Home}/{action=Index}/{id?}");  
                                    });  
        }

使用NLog

public class HomeController : Controller  
    {  
        private readonly ILogger<HomeController> _log;  
  
        public HomeController(ILogger<HomeController> log) => _log = log;  
        static Logger logger = LogManager.GetCurrentClassLogger();  
  
        public IActionResult Index()  
        {  
            logger.Info("测试日志乱码");  
            return View();  
        }  
}
2

评论 (0)

取消
  1. 头像
    hrr
    Windows 10 · Google Chrome

    看看

    回复
  2. 头像
    eiyfyfo
    MacOS · Safari

    好厉害,谢谢

    回复