NLog是一个基于.NET平台编写的日志记录类库,我们可以使用NLog在应用程序中添加极为完善的跟踪调试代码。可以在任何一种.NET语言中输出带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个输出目标(target)中--《Nlog详解》By龙腾一组至尊龙骑
那么今天就是探讨如何在我们的.Net项目中使用Nlog日志呢?
首先我们需要在NuGet包管理器中打开管理Nuget包管理界面具体步骤:
工具->Nuget包管理器->管理解决方案的NuGet程序包
然后在界面中搜索:Nlog,选中如图的两个
其中Nlog.Web.AspNetCore这里面会放各种帮助类,当然也会有专门记录日志的帮助类,供全局上下调用。而Nlog.Conflg是Nlog的配置文件,其中包括了你NLog生成的日志文件会放在哪里,你可以记录那个类库或者控制器的异常信息等等。
在Nlog.Conflg这个文件下载完毕之后我们就会如图所示:
它会是一个快捷方式我们是无法使用的这是我们就要右键打开文件所在的文件夹,然后如图所示将这个文件复制
把原本的Nlog.conflg文件删除,把复制的文件重新复制回来就行了就变成了如下图所示:
2.在program.cs中注入Nlog日志(若是.Net5则在startup.cs)中进行注入,注入的代码如下:
然后在Nlog.Conflg中配置两处:
target中输出目标:name名称f,xsi:type输出类型文件, fileName输出到程序根目录logs文件夹中, 以日期作为生成log文件名称, layout生成内容的格式
logger中name是指记录哪里的的如果是*则记录所有的日志,一般我们都指定记录我们的项目把系统的日志给避除
然后再Nlog中有以下几个等级:
- Trace - 最常见的记录信息,一般用于普通输出
- Debug - 同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序
- Info - 信息类型的消息
- Warn - 警告信息,一般用于比较重要的场合
- Error - 错误信息
- Fatal - 致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行
这几个记录等级大家视情况选择使用
最后我们记录的文件在:
就是你项目下的bin->debug->net(你的net版本)->logs中
这个文件路径不唯一你可以自定义。