ASP.NET Core 使用NLog打印html格式日志

NLog是在.NET平台下用的比较多的日志处理类库,能够输出带有上下文的调试诊断信息,根据配置文件可以选择多种输出方式和表现形式。
更多的配置和使用方法请自行查看官方文档或其他博客,这里只简单的记录下如何使用NLog记录html格式的日志信息。
1.首先安装NuGet包

NLog.Web.AspNetCore

2.在项目中添加NLog.config配置文件


image.png

3.配置文件添加以下配置信息



  
  
    
    

    
    

    
    
  
  
  
    
    
    
    
    
  

4.在Startup.cs中配置NLog

public void Configure(IApplicationBuilder app, IHostingEnvironment env,ILoggerFactory loggerFactory)
        {
            //使用NLog
            loggerFactory.AddNLog();
            env.ConfigureNLog("NLog.config");

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseMvc(routes =>
            {
                routes.MapRoute(
                    name: "default",
                    template: "{controller=Values}/{action=Get}");
            });
        }

5.打印日志

Logger logger = LogManager.GetCurrentClassLogger();
logger.Info("这是一条日志...");

下面是封装的使用多线程打印的NLogHelper类

public class NLogHelp
    {
        public static Logger logger = LogManager.GetCurrentClassLogger();
        public static Task ErrorLog(string throwMsg)
        {
           return  Task.Factory.StartNew(() =>
            {
                string errorMsg = string.Format("【异常信息】:{0} 
", new object[] { throwMsg }); errorMsg = errorMsg.Replace("\r\n", "
"); errorMsg = errorMsg.Replace("位置", "位置"); logger.Error(errorMsg); }, TaskCreationOptions.LongRunning); } public static Task InfoLog(string operateMsg) { return Task.Factory.StartNew(() => { string errorMsg = string.Format("【操作信息】:{0}
", new object[] { operateMsg }); errorMsg = errorMsg.Replace("\r\n", "
"); logger.Info(errorMsg); }, TaskCreationOptions.LongRunning); } }

6.日志内容如下

image.png

注意:在开发环境下会输出日志处理过程的信息。

你可能感兴趣的:(ASP.NET Core 使用NLog打印html格式日志)