c#的日志插件NLog基本使用
2021-02-20 23:18
标签:nlog 继承 完整 报错 文件中 seq ace nal 配置信息 安装插件 安装插件 创建logger 日志级别 书写日志信息 配置 包装器 布局 子类继承log c#的日志插件NLog基本使用 标签:nlog 继承 完整 报错 文件中 seq ace nal 配置信息 原文地址:https://www.cnblogs.com/ye-hcj/p/8274248.html本文介绍c#的日志插件NLog
创建logger
日志级别
书写日志信息
配置
包装器
布局
直接下载插件包 Install-Package NLog.Config
使用LogManager创建Logger实例,最好一个类里面一个Logger实例
写法一
这种写法,记录的日志文件,显示的logger名字,是命名空间加上logger所在类的类名,如 ConsoleApp1.Program
private static Logger mylogger = LogManager.GetCurrentClassLogger();
写法二
这种写法,可以手动设置日志文件中的logger名字
Logger mylogger = LogManager.GetLogger("myTest");
级别由低到高
Trace 记录完整的信息,一般只用在开发环境
Debug 记录调试信息,没有Trace信息完整,一般也只用在开发环境
Info 简单的信息,一般用在生产环境
Warn 记录警告信息,一些可以解决的小问题
Error 记录报错信息,一般都是Exceptions信息
Fatal 非常严重的错误信息
logger.Trace("Sample trace message");
logger.Debug("Sample debug message");
logger.Info("Sample informational message");
logger.Warn("Sample warning message");
logger.Error("Sample error message");
logger.Fatal("Sample fatal error message");
或者使用
logger.Log(LogLevel.Info, "Sample informational message");
支持格式化 mylogger.Fatal("Sample {0} error message", "fetal");
尽量使用NLog内置的格式化工具,NLog做了优化工作
最基础的配置
第一步,打开NLog.config配置文件,添加如下配置
targets>
target name="logfile" xsi:type="File" fileName="file.txt" /> // 创建一个target,代表输出日志文件的配置
>
rules>
logger name="*" minlevel="Info" writeTo="logfile" /> // 设置Info级别以上的日志,才能够输入到什么名为logfile的target当中
/*
1.这里logger自己还有一个name,这个name对应类名,也就是说什么样的类名可以输出日志,如ConsoleApp1.Program
2.可以添加final="true"属性,表示后面的所有针对此指定名字的logger都无效
*/
/rules>
第二步,运行代码即可
多target配置
异步包装器配置
targets>
target name="asyncFile" xsi:type="AsyncWrapper">
target name="logfile" xsi:type="File" fileName="file.txt"/>
>
/targets>
布局是用来格式化日志输出信息的
simple日志格式化
target name="logfile" xsi:type="File" fileName="file.txt" layout="${date:format=yyyyMMddHHmmss} ${message} ${counter:increment=3:sequence=Layout:value=5}"/>
还有很多格式化写法,自行查阅
public class Demo1
{
protected Logger Log { get; set; }
protected Demo1()
{
Log = LogManager.GetLogger(GetType().FullName);
}
}
public class Demo2: Demo1
{
public Demo2():base() { }
}
下一篇:windows 安装pip