aspnetcore mvc 异常处理_ASP.NET Core 中NLog的集成使用步骤-NLog.Web.AspNetCore

75d030148479dd952622270ce93b806e.png

前面:我理想的教程,既要有一步一步就成的思路,也要有进一步思考,比如某些常用的参数是什么意思?通常在项目中是怎么个使用法?我知道写成人人满意的小白教程有点难,这需要时间,本身我写这些也是给自己的一种学习和复习。我知道几个月后,或几年后让我离开项目框架,徒手再用时,不百度一下我是不能立刻使用上的。我不希望搜索太多,一篇就够是我的目标。文章有不足,我会在想到点的时候补上,不会写完后就不管不更新了。

先放上官方教程:

https://github.com/NLog/NLog/wiki/Getting-started-with-ASP.NET-Core-5​github.com

1.安装。一般来讲,我们日志功能是写在Web项目中的Util层(工具层),这里面会放各种帮助类,当然也会有专门记录日志的帮助类,供全局上下调用。NLog/NLog1.安装。一般来讲,我们日志功能是写在Web项目中的Util层(工具层),这里面会放各种帮助类,当然也会有专门记录日志的帮助类,供全局上下调用。

64d2005854001cb2fc3b4e0f5c36b811.png
帮助类的项目上引入Nlog包,注意是Nlog.Web.AspNetCore

2.建个帮助类。用法网上都有,套一层日志的方法,比如简单,基本上如图所示:

d07c6d32b55a3b74fa952a3b1b2ea08d.png
日志记录帮助类

3.注册日志服务。在Web层的代码入口处,即Program.cs中添加代码.UseNLog();

6fc12fcfbf7f5fc397185ed203975088.png
Program.cs中添加代码.UseNLog()

4.在web层根目录下新建一个NLog.config配置文件,并且要输出到目录。

b75c7d024598c810a2a3969228a3b8ef.png

5.使用

9b99c0321bdd14b1fc2b68c38cabde0a.png

6.对nlog.config文件的说明,详细的请看官方说明文档地址:

NLog/NLog​github.com

我只对重点的配置项写一点说明:

autoReload="true"

在配置文件头部的这个属性,如果有True,在网站跑的过程中,可以随时变更nlog.config文件,随时生效。

<targets async="true">

启用异步模式进行输出

throwExceptions="true"

这个前期对nlog.config文件如果有写法错误,或是项目中对日志模块有什么异常错误的话,让他主动抛出来,这个对前期集成NLog模块或写配置文件时有用。

<!-- enable asp.net core layout renderers -->
<extensions>
	<add assembly="NLog.Web.AspNetCore"/>
</extensions>

启用这个extensions扩展,你就可以在下面的输出布局(layout)中使用http://asp.net专门的变量标签。如 ${aspnet-mvc-action} ${aspnet-request-url} 下面是全部该类的专用标签:

737dc8d3766a439523a3005833ab56ed.png

来一个输出示例:url: ${aspnet-request-url}|action: ${aspnet-mvc-action}

4d64a1d22f7928607f68393f23a6a751.png

全部参数配置:

Config | NLog​nlog-project.org

以下对常见的标注一下:

renderersinfo
${logger}日志名称 GetLogger 时传的名称
${longdate}yyyy-MM-dd HH:mm:ss.ffff
${level}日志等级 ERROR, DEBUG
${message}日志消息内容
${newline}换行符
${shortdate}yyyy-MM-dd.
${time}HH:mm:ss.mmm.
${basedir}网站等项目的根目录
...更多看文档

ba2beefc85c4fdd0df00959615f1f1a9.png
console 输出示例

rules规则反正从上往下去适配,name值就是 GetLogger 时传的名称,可以包括通配符 *和?,以通过通配符匹配来匹配记录器名称。合适就输出对应的 target。如果遇到 final="ture" 那就会停止向下走。 writeTo 多种输出反正可以用 逗号 隔开

2fd55d6d76a44f0671300b065b041bbe.png

关于 Rendering Options

比如 ${exception:format=tostring} 对于冒号后面的更多options参数内容,可以看每一个Render的具体使用,比如 exception 的具体可选参数可以在这里查看:

https://github.com/NLog/NLog/wiki/Exception-Layout-Renderer

教程结束,如有想进一步了解的,可以留言,我随时更新。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在 .NET Core WinForms 应用程序使用 NLog 日志记录器,需要执行以下步骤: 1. 首先,通过 NuGet 安装 NLog 包。可以使用 Visual Studio 的 NuGet 包管理器或在项目文件手动添加以下依赖项: ``` <PackageReference Include="NLog" Version="x.x.x" /> ``` 2. 创建 NLog 配置文件。可以在应用程序的根目录创建一个名为 `nlog.config` 的 XML 文件,并使用以下示例配置: ``` <?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"> <targets> <target name="file" xsi:type="File" fileName="${basedir}/logs/${shortdate}.log" layout="${longdate} ${uppercase:${level}} ${message} ${exception:format=tostring}" /> </targets> <rules> <logger name="*" minlevel="Trace" writeTo="file" /> </rules> </nlog> ``` 该配置将日志记录到位于应用程序根目录下的名为 `logs` 的文件夹,并将日志级别设置为 `Trace`。 3. 在应用程序代码引用 NLog 并创建一个日志记录器。可以使用以下代码: ``` using NLog; // ... private static readonly Logger logger = LogManager.GetCurrentClassLogger(); ``` 4. 在需要记录日志的位置调用日志记录器的方法。例如: ``` logger.Debug("Debug message"); logger.Info("Info message"); logger.Warn("Warning message"); logger.Error("Error message"); logger.Fatal("Fatal message"); ``` 这将记录不同级别的日志消息,并在配置文件指定的位置写入日志文件。 以上步骤应该能够帮助您在 .NET Core WinForms 应用程序使用 NLog 记录器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值