首页 / C# / c#的日志插件NLog基本使用
c#的日志插件NLog基本使用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c#的日志插件NLog基本使用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2441字,纯文字阅读大概需要4分钟。
内容图文
本文介绍c#的日志插件NLog
安装插件
创建logger
日志级别
书写日志信息
配置
包装器
布局
-
直接下载插件包 Install-Package NLog.Config
-
使用LogManager创建Logger实例,最好一个类里面一个Logger实例 写法一 这种写法,记录的日志文件,显示的logger名字,是命名空间加上logger所在类的类名,如 ConsoleApp1.Programprivatestatic 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,代表输出日志文件的配置 </targets><rules><logger name="*" minlevel="Info" writeTo="logfile"/> // 设置Info级别以上的日志,才能够输入到什么名为logfile的target当中 /*1.这里logger自己还有一个name,这个name对应类名,也就是说什么样的类名可以输出日志,如ConsoleApp1.Program2.可以添加final="true"属性,表示后面的所有针对此指定名字的logger都无效 */</rules> 第二步,运行代码即可多target配置 <targets> <target name="logfile" xsi:type="File" fileName="file.txt" /><target name="console" xsi:type="Console"/> // 创建一个target表示用控制台输出日志信息 </targets><rules><logger name="*" minlevel="Trace" writeTo="logfile"/> <logger name="*" minlevel="Info" writeTo="console" />// 将Info级别以上的配置信息输出到名为console的target中</rules>
-
异步包装器配置 <targets><target name="asyncFile" xsi:type="AsyncWrapper"><target name="logfile" xsi:type="File" fileName="file.txt"/> </target></targets> <rules> <logger name="*" minlevel="Trace" writeTo="asyncFile"/></rules>还有很多包装器,按需自查
-
布局是用来格式化日志输出信息的 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;}protectedDemo1() { Log =LogManager.GetLogger(GetType().FullName);}}publicclass Demo2: Demo1 {publicDemo2():base() {}}
原文:https://www.cnblogs.com/ye-hcj/p/8274248.html
内容总结
以上是互联网集市为您收集整理的c#的日志插件NLog基本使用全部内容,希望文章能够帮你解决c#的日志插件NLog基本使用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。