NLog详细教程
最近公司使用到了NLog来进行一个日志记录功能,了解了一下,觉得很实用,特此做个分享。
小时候看迪迦,里面一段话特别印象深刻,“努力活完短暂的一生,将成果留给后代继承,人类就是如此反复,真的很了不起!”这些开源软件就是最好的证明,前人帮我们造好了一个又一个轮子,我们需要好好的使用,为往圣继绝学。
NLog的具体介绍,功能,优点等网上一大推,就不具体介绍了,主要说怎么安装使用
安装
需要安装NuGet包。
1.在需要使用的项目点击鼠标右键
2.点击浏览->输入名字->选择如图所示的程序包(这恐怖的下载量)->点击安装(教程写的日期是2022/12/01,NLog最新版就是5.1.0)
3.点击确定
4.在项目的引用中可以看到NLog这个dll就算安装成功了。
初级使用
配置文件编写
NLog配置原理
NLog将自动在某些默认位置中搜索其配置文件。当NLog和标准的exe文件配合使用时,将自动按照顺序搜索下列路径,以得到配置文件:
1.应用程序的标准配置文件(通常为applicationname.exe.config)
2.应用程序所在目录中的applicationname.exe.nlog文件
3.应用程序所在目录中的NLog.config文件
4.NLog.dll所在目录中的NLog.dll.nlog文件
5.环境变量NLOG_GLOBAL_CONFIG_FILE所指向的文件
NLog配置文件形式
1.可以写在项目中的App.config文件中。使用标准化的configSection机制
2.可以单独写一个配置文件负责日志记录(取名NLog)
推荐还是单独写一个配置文件,毕竟健壮性更好。
最精简的配置文件
<?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>
<!--输出目标:name名称f,xsi:type输出类型文件, fileName输出到程序根目录logs文件夹中, 以日期作为生成log文件名称, layout生成内容的格式-->
<target name="f"
xsi:type="File"
fileName="${basedir}/logs/${shortdate}.log"
layout="${longdate} ${uppercase:${level}} ${message}" />
</targets>
<rules>
<!--日志路由规则:最低级别Debug,输出到target目标f-->
<logger name="*" minlevel="Debug" writeTo="f" />
</rules>
</nlog>
要记得将NLog的文件属性设置为始终复制。
代码实现
using NLog;
using NLog.Config;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsApp2
{
public partial class Form1 : Form
{
//创建日志记录对象
private Logger Logger = NLog.LogManager.GetCurrentClassLogger();
public Form1()
{
InitializeComponent();
//初始化配置日志
LogManager.Configuration