日志框架Nlog之将日志输出到文件
来源:互联网 发布:手机淘宝变成触屏版 编辑:程序博客网 时间:2024/05/24 01:40
前两篇博文中介绍了NLog的大体情况,和如何用NLog 将日志输出到控制台。本文我们来看一下如何将日志输出到文件中。如何做一个漂亮的日志。
第一步:添加对NLog的引用
具体步骤已经在上文中详细的写到了。 请移步日志框架Nlog之将日志输出到控制台
第二步:配置NLogConfing
<span style="font-family:KaiTi_GB2312;font-size:18px;"><targets><!--说明 xsi:type="File"指定输出到文件类型;fileName指定输出文件的存放位置和文件名(可自定义),其中 ${basedir}是程序所在的路径; ${shortdate}是日期(具体到日)。 layout指定输出文件内容的样式 ${level}是日志的等级; ${longdate}是日期(具体到毫秒), ${message}是具体要输出的内容。--><target name="Info" xsi:type="File" fileName="${basedir}/log/test.${shortdate}.log" layout="${longdate} [${level}]: ${message}"/></targets><rules><logger name="*" writeTo="Info"/></rules></span>
没错关键的一句就是<target>节点。我们设置了文件的类型,文件的输出路径和输出样式。
第三步:调用
这一部分和上篇博客的调用内容也一样。
<span style="font-family:KaiTi_GB2312;font-size:18px;">using System;using System.Text;namespace NLogToFile{ /// <summary> /// 将Nlog日志输出到文件Demo-马丹妹-2015年9月24日 /// </summary> class Program { public static NLog.Logger logger = NLog.LogManager.GetCurrentClassLogger(); static void Main(string[] args) { logger.Trace("输出一条记录信息成功!");//最常见的记录信息,一般用于普通输出 logger.Debug("输出一条Debug信息成功!"); //同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序 logger.Info("输出一条消息类型信息成功!");//信息类型的消息 logger.Warn("输出一条警告信息成功");//警告信息,一般用于比较重要的场合 logger.Error("输出一条错误信息成功!");//错误信息 logger.Fatal("输出一条致命信息成功!");//致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行。 } }}</span>
根据我在target下面设置输出路径,我们可以再以下路径看到
接下我们来再给大家带两个福利~准备好了嘛~
福利一:输出漂亮的Html文件
来更改一下配置文件中的targe节点。其他不用动。将 以下替换掉之前target的内容。
<span style="font-family:KaiTi_GB2312;font-size:18px;"><target name="Info" xsi:type="File" fileName="${basedir}/log/test.${shortdate}.htm" layout="<p><span style="color:red; font-weight:bold;">[${level}]</span><br /><span style="color:#666">${date:format=yyyy-MM-dd HH\:mm\:ss}</span><br /><spanstyle="color:#0066FF; font-weight:bold;">[${stacktrace}]</span><br /><span style="color:#0066FF">${message}</span></p>"/></span>
仔细看一下,还是 原来的主干,不过我们又有所更改。①将输出文件类型更改为htm ②将文件文件的输出样式设置了颜色和格式等。本例只是给大家提供一个思路。
我们来看一下效果截图。
福利二:分类整理日志
仅仅漂亮是不够的。日志需要记录的东西很多,但是他们的等级是不一样的。如果在系统上线后,我们 最关心的最想快速锁定的首先是系统的Error 和Fatal。这时候我们可以将这两个级别的错误单独放到一个新的文件中去。
来再改一下配置文件。
<span style="font-family:KaiTi_GB2312;font-size:18px;"><targets><target name="file_NormalInfo" xsi:type="File" fileName="${basedir}/log/file_NormalInfo.${shortdate}.htm" layout="<p><span style="color:red; font-weight:bold;">[${level}]</span><br /><span style="color:#666">${date:format=yyyy-MM-dd HH\:mm\:ss}</span><br /><spanstyle="color:#0066FF; font-weight:bold;">[${stacktrace}]</span><br /><span style="color:#0066FF">${message}</span></p>"/><target name="file_UnNoramlInfo" xsi:type="File" fileName="${basedir}/log/file_UnNoramlInfo.${shortdate}.htm"layout="<p><span style="color:red; font-weight:bold;">[${level}]</span><br /><span style="color:#666">${date:format=yyyy-MM-dd HH\:mm\:ss}</span><br /><spanstyle="color:#0066FF; font-weight:bold;">[${stacktrace}]</span><br /><span style="color:#0066FF">${message}</span></p>"/></targets><rules><logger name="*" maxlevel ="Info" writeTo="file_NormalInfo"/><logger name="*" levels="Error" writeTo="file_UnNoramlInfo"/><logger name="*" levels="Fatal" writeTo="file_UnNoramlInfo"/></rules></span>
说明:
接下来我们看一下效果:
将原本一个日志分成了两个日志。
再看每个日志的内容:
这样我们就完美的将日志做好记录了。
总结:
通过本篇和上篇博客。我们可以发现其实日志的关键没有几处。主要是配置文件的处理。当然更重要的是
设计,只有你想不到的,没有NLog做不到的。
NLog系列博客,未完待续。。
- 日志框架Nlog之将日志输出到文件
- 日志框架Nlog之将日志输出到控制台
- 日志框架Nlog之将日志输出到数据库
- 日志框架NLog之将日志发送到邮件
- 日志框架Nlog之前言
- 日志框架Nlog之异步记录
- NLog日志——将日志保存在文件中
- 配置logback将日志输出到文件
- qt之输出日志到文件中
- 日志Nlog
- NLog日志
- jboss下将日志文件输出到不同文件
- 用NLog以及将NLog的记录信息输出到文件
- WebAPI+NLog实现接口调用日志输出
- 将Control的日志输出到同一个文件
- 将tomcat运行时的日志输出到指定文件
- shell将脚本输出结果记录到日志文件
- 将控制台的日志输出到外部文件
- Windows下MinGW编译静态Qt5 I
- 232 485 网口电路
- 学习笔记:nodejs(二)——node+express+mongodb建站相关(express4)
- java如何对文件追加写入【new FileOutputStream(file, true)】
- Linux基于sshpass小工具,用于非交互的ssh操作
- 日志框架Nlog之将日志输出到文件
- ubuntu 15.04 开机启用小键盘
- 协同过滤
- POJ 1062 昂贵的聘礼
- Nagios客户端执行oracle检查脚本和远程server端不一致的问题
- 知名APP市场总监教你:如何策划高效的市场推广运营方案(超级干货)
- html5中 data-*属性详解
- Unity3D PoolManage
- Codeforces Round #321 (Div. 2) 580B Kefa and Company(贪心 + 二分)