NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。
NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个输出目标(target)中。
NLog的API非常类似于log4net,且配置方式非常简单。NLog使用路由表(routing table)进行配置,但log4net却使用层次性的appender配置,这样就让NLog的配置文件非常容易阅读,并便于今后维护。

如何使用?

1.创建一个新的ASP.NET Core项目

2.添加项目依赖

  • NLog.Web.AspNetCore

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"internalLogLevel="Warn"internalLogFile="c:\temp\internal-nlog.txt"><!-- 加载ASP.NET Core插件 --><extensions><add assembly="NLog.Web.AspNetCore"/></extensions><!-- 输出目的地 --><targets><!-- 输出到文件,这个文件记录所有日志 --><target xsi:type="File" name="allfile" fileName="c:\temp\nlog-all-${shortdate}.log"layout="${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|${message} ${exception}" /><!-- 另外一个日志记录文件,户口也跳过Microsoft开头相关日志信息 --><target xsi:type="File" name="ownFile-web" fileName="c:\temp\nlog-own-${shortdate}.log"layout="${longdate}|${event-properties:item=EventId.Id}|${logger}|${uppercase:${level}}|  ${message} ${exception}|url: ${aspnet-request-url}|action: ${aspnet-mvc-action}" /><!-- write to the void aka just remove --><target xsi:type="Null" name="blackhole" /></targets><!-- 写入目的地的规则 --><rules><!--全部记录,包括Microsoft开头的相关日志信息--><logger name="*" minlevel="Trace" writeTo="allfile" /><!--跳过Microsoft开头的相关日志信息--><logger name="Microsoft.*" minlevel="Trace" writeTo="blackhole" final="true" /><logger name="*" minlevel="Trace" writeTo="ownFile-web" /></rules>
</nlog>

3.将nlog.config复制到bin文件夹

4.在startup.cs文件中添加

using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using NLog.Extensions.Logging;
using NLog.Web;namespace NlogDemo
{public class Startup{public Startup(IConfiguration configuration,IHostingEnvironment env){Configuration = configuration;//配置nlogenv.ConfigureNLog("nlog.config");}public IConfiguration Configuration { get; }// This method gets called by the runtime. Use this method to add services to the container.public void ConfigureServices(IServiceCollection services){services.AddMvc();}// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory){//把nlog添加到.net coreloggerFactory.AddNLog();//add NLog.Webapp.AddNLogWeb();if (env.IsDevelopment()){app.UseBrowserLink();app.UseDeveloperExceptionPage();}else{app.UseExceptionHandler("/Home/Error");}app.UseStaticFiles();app.UseMvc(routes =>{routes.MapRoute(name: "default",template: "{controller=Home}/{action=Index}/{id?}");});}}
}

  5.记录日志

public class HomeController : Controller{private readonly ILogger<HomeController> _logger;public HomeController(ILogger<HomeController> logger){_logger = logger;}public IActionResult Index(){_logger.LogInformation("Index page says hello");return View();}

 总结:

在我自己学习Nlog的时候,少了关键的一部那就是第三步,讲config输出到bin!!!

转载于:https://www.cnblogs.com/ZaraNet/p/9957655.html

AspNetCore 使用NLog日志,NLog是基于.NET平台开的类库!(又一神器)相关推荐

  1. Nlog 日志框架使用介绍

    原文地址:https://www.cnblogs.com/zh7791/p/12620439.html NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试 ...

  2. 【愚公系列】2023年02月 WMS智能仓储系统-001.NLog日志的使用

    文章目录 前言 一.NLog日志的使用 1.安装包 2.配置文件nlog.config 3.使用 前言 系统日志是记录系统中硬件.软件和系统问题的信息,同时还可以监视系统中发生的事件.用户可以通过它来 ...

  3. asp.net core 2.1 增加Nlog日志到sql server数据库

    一.增加引用 <PackageReference Include="NLog.Extensions.Logging" Version="1.2.1" /& ...

  4. .NetCore WPF应用Nlog日志模块

    当借助CommunityToolkit.Mvvm工具来开发WPF, 通过官方示例可见,IOC提供了很大的便利,可以将服务接口,ViewModel放到容器 public sealed partial c ...

  5. C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows、Liux环境下程序发布

    C# Asp.Net6 MVC,Log4net NLog 日志插件应用 及Windows.Liux环境下程序发布 一. MVC含义 二.数据传输 1.控制器向视图传输数据 三.日志组件Log4net ...

  6. .Net学习——Nlog日志框架的使用

    1什么是Nlog,为什么要使用Nlog作为日志框架 .Net没有内置的文本日志提供者,对于实际需要记录日志到文本文件中的需求不相匹配,常用的第三方日志框架包括Log4Net,Nlog,SeriLog. ...

  7. NLog日志框架使用探究

    前言 日志是每个程序的基本模块.本文是为了探究如何通过NLog方便及记录日志并通过Log4View工具收集日志统一查看. 为什么是NLog? 下载量NLog和Log4Net差不多,这两个日志模块是.N ...

  8. 日志管理-NLog日志框架简写用法

    日志管理-NLog日志框架简写用法 本文转载:http://www.blogjava.net/qiyadeng/archive/2013/02/27/395799.html 在.net中也有非常多的日 ...

  9. Nlog日志记录组件使用

    前面做的项目都是用的log4或者用个文件类写入文件中记录日志,这个nlog用着很方便,同时也有net core的版本,一步一步操作吧 1,nuget 中找到nlog并下载安装,注意框架版本,也可以去官 ...

最新文章

  1. 厉害了,为了干掉 HTTP ,Spring团队又开源 nohttp 项目!
  2. 独家 | 25道SVM题目,测一测你的基础如何?(附资源)
  3. 网站静态化处理—动静分离策略(3)
  4. java search 不能使用方法_elasticsearch(七)java 搜索功能Search Request的介绍与使用...
  5. qt获取开发板ip地址_qt获取网络ip地址的类
  6. 计算机存储器可分两类,计算机存储器可分为几类?它们的主要区别是什么?
  7. [js] 说说你对JSBridge的理解
  8. Spark集群完全分布式安装部署
  9. Java集合迭代器原理图解_Java Iterator接口遍历单列集合迭代器原理详解
  10. javaweb(10) cookiesession
  11. 手动同步OCS的通讯簿
  12. 洞见 | Peter:Web3.0 的宏观架构
  13. multisim怎么设置晶体管rbe_multisim晶体管
  14. OpenCV-python安装教程
  15. Linux系统变慢原因?
  16. 淘宝天猫春节照常发货—轻轻松松“淘宝式过年”
  17. 主机链接无线网虚拟机nat模式固定ip设置
  18. 中国人体工程学椅子行业市场供需与战略研究报告
  19. 豆瓣电影排行榜下载,main主文件代码(未完善版)
  20. ARM+llinux系统移植3G拨号上网收发短信(一)

热门文章

  1. 4 截图_十年漫迷舍不得删的4张截图,有大汗淋漓的香磷,满满的都是回忆
  2. 如何卸载电脑oracle,如何完整的卸载ORACLE -电脑资料
  3. pytorch torch.nn.MSELoss
  4. 3.7 为什么需要非线性激活函数?
  5. openstack根据公网查不到路由_从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践...
  6. python场景识别_python 场景
  7. VMware vSAN 技术详解 | 周末送资料
  8. 思科和华为/H3C命令对比表
  9. Maven学习总结(38)——Maven下载失败文件夹批量删除问题的两种解决方法
  10. matlab编程常用,Matlab常用60个编程