关于我们

质量为本、客户为根、勇于拼搏、务实创新

< 返回新闻公共列表

ASP.NET Core:ASP.NET Core中使用NLog记录日志

发布时间:2020-08-07 18:27:56

一、前言

在所有的应用程序中,日志功能是不可或缺的模块,我们可以根据日志信息进行调试、查看产生的错误信息,在ASP.NET Core中我们可以使用log4net或者NLog日志组件来实现记录日志的功能,这里讲解如何在ASP.NET Core中使用NLog

这里采用的是.NET Core 3.1创建应用程序。

那么什么是NLog呢?

NLog是一个基于.NET平台编写的类库,我们可以使用NLog在应用程序中添加即为完善的跟踪调试代码。

NLog是一个简单灵活的.NET日志记录类库。通过使用NLog,我们可以在任何一种.NET语言中输出带有上下文的调试诊断信息,根据个人的爱好配置其输出的样式,然后发送到一个或多个输出目标(target)中。

NLogAPI非常类似于log4net,且配置方式非常简单。NLog使用路由表进行配置,这样就让NLog的配置文件非常容易阅读,并便于今后维护。

NLog遵循BSD license,即允许商业应用且完全开放源代码。任何人都可以免费使用并对其进行测试,然后通过邮件列表反馈问题以及建议。

NLog支持.NETC/C++以及COM组件,因此我们的程序、组件、包括用C++/COM编写的遗留模块都可以通过同一个路由引擎将信息发送至NLog中。

简单来说,NLog就是用来记录项目日志的组件。

二、使用NLog

首先我们创建一个WebAPI的项目

1、引入NLog

直接在NuGet里面搜索NLog.Web.AspNetCore,然后进行安装即可

修改Program类,在里面配置使用NLog,代码如下所示:

 

using Microsoft.AspNetCore.Hosting;using Microsoft.Extensions.Hosting;using NLog.Web;

namespace NLogDemo

{

    public class Program

    {

        public static void Main(string[] args)

        {

            CreateHostBuilder(args).Build().Run();

        }

 

        public static IHostBuilder CreateHostBuilder(string[] args) =>

            Host.CreateDefaultBuilder(args)

                .ConfigureWebHostDefaults(webBuilder =>

                {

                    webBuilder.UseStartup<Startup>();

                })

                // 配置使用NLog                .UseNLog();

    }

}

 

2、添加配置文件

右键添加新建项,然后选择Web配置文件,命名为nlog.config,添加完配置文件以后,我们还需要修改配置文件的属性,设置为始终复制

3、在控制器中使用

通过上面的步骤,我们已经完成NLog的配置,接下来我们就可以在控制器中使用了,通过构造函数注入的方式实现注入。

4、读取指定位置的配置文件

上面的例子中,我们是直接在项目的根目录下面添加的nlog.config文件,有时候我们想把程序里面的配置文件都放到单独的文件夹里面,这样方便管理,那么该如何设置让程序读取指定位置的nlog.config文件呢?



/template/Home/Zkeys/PC/Static