nlog nlog.web
NLog:这是一个开放源代码日志记录框架,它提供了极大的灵活性和可配置的选项来记录您的应用程序的见解。 它允许同时选择多个目标,例如数据库,云服务,文件,控制台等,这样用户就不必在代码中维护不同的配置。 这是目前使用最广泛的日志记录框架。
一些重要的功能是:
- 易于配置
- 它基于模板
- 它具有预定义的布局,因此您可以使用自定义数据修改消息
- 它提供了结构化的日志记录
开源项目官方网站: https : //nlog-project.org/
创建ASP.NET Core项目
步骤1:打开Visual Studio 2019并创建一个新项目。
步骤2:从项目模板中选择ASP.NET Core Web Application。
步骤3:选择项目的名称,然后单击Create(创建)按钮。
步骤4:选择Web Application Template并进行如下所示的适当选择。
步骤5:以上4个步骤将创建带有一些默认文件和文件夹的ASP.NET Core 3 Web应用程序。
由于我们必须将NLog集成到应用程序中,因此我们需要从NuGet软件包管理器中安装一些软件包。
1. NLog.Web.AspNetCore –这是将安装NLog软件包的软件包。
2. NLog.config –该软件包将添加一个配置文件,我们可以在其中定义NLog配置的所有规则和目标。 NLog库将从此文件读取所有配置。
第6步:添加所需的程序包后,让我们在NLog.config中创建配置,在此我们将定义一个目标,该目标会将日志写入本地系统上的文件。
将自动生成的代码替换为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"
throwExceptions = "false"
internalLogLevel = "Off" internalLogFile = "c:\temp\nlog-internal.log" >
<targets>
<target xsi:type="File" name="fileTarget" filename="..\logs\log.txt"></target>
</targets>
<rules>
<logger name="*" minlevel="Trace" writeTo="fileTarget" />
</rules>
</nlog>
我们还需要更改此文件的属性,以便可以在部署应用程序时将该文件复制到目录中。
右键单击NLog.config文件,然后选择属性选项,然后进行如下所示的更改。
步骤7:将目标添加到配置文件中的文件后,我们必须将NLog作为服务注册到Program.cs文件中,以便我可以捕获日志并将其发送到定义的目标。
用下面突出显示的内容替换Program.cs文件中的代码。
publicstatic IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureLogging( ( hostingContext, logging ) =>
{
logging.AddConfiguration(hostingContext.Configuration.GetSection( "Logging" ));
logging.AddDebug();
logging.AddNLog();
})
.ConfigureWebHostDefaults( webBuilder =>
{
webBuilder.UseStartup<Startup>();
});
在创建WebHost时,我们在调用Startup.cs文件之前注入日志。 上面突出显示的ConfigureLogging方法是将日志添加到两个服务。
一个是Debug窗口,这是Visual Studio的功能,另一个是NLog。
AddNLog方法是我们在上述步骤中安装的Nuget软件包的一部分。
AddConfiguration方法试图读取默认情况下由Asp.Net Core项目模板创建的日志记录配置。
我们还可以在Startup.cs类中将NLog定义为服务。 在启动类之前调用此函数的原因是,有时在调用启动类之前可能会引起一些运行时问题,因此我们也可以捕获它们。
步骤8:现在运行该应用程序,您会发现在项目的bin文件夹中创建了一个日志文件。
注意:您可以在NLog.config的文件名属性中指定任何路径,这将在此处创建日志文件。 您可以在NLog配置文件中进行很多自定义。 在本文开始部分提到的asp.net mvc开发官方网站上查看它们。
翻译自: https://hackernoon.com/integrating-logging-using-nlog-in-aspnet-core-30-web-app-6f1v31be
nlog nlog.web