<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 /><span	
				style="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 /><span	
				style="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 /><span	
				style="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之将日志输出到控制台  第二步:配置NLogConfing
在我上一篇文章 NLog 初步中,主要是有关于初步使用 NLog 以及将 NLog 的记录信息 输出 到控制台。那么接下来,如果我要定期查看一个程序的 日志 并且总结程序运行情况,就需要将 日志 保存在 文件 中以供日后查看之用。其实这个也很简单,只需要在<targets>标签下添加如下代码: <target xsi:type="File" name="file" fileName="${basedir}...
读到现在的。那你也一定知道,我们本篇博客 输出 到数据库的关键点还是在配置 文件 的配置而已。为了本篇博客的完整性,大家再跟我一起熟悉一下整个过程。 第一步:添加对 NLog 的引用         具体步骤已经在上文中详细的写到了。  请移步 日志 框架 Nl
C# 使用 NLog 记录 日志 跟log4net一样 NLog Nlog 也是常用的记录 日志 组件 需要先下载好 Nlog Nlog .Config,注意我的版本号,我当前使用的4.5版本 下载完成后我们的项目根目录会生成 Nlog .config配置 文件 具体使用参考如下配置 <?xml version="1.0" encoding="utf-8" ?> < nlog xmlns="http://www. nlog -project.org/schemas/ NLog .xsd" xmlns:xsi=
NLog .Logger log = NLog .LogManager.GetCurrentClassLogger(); log.Trace("记录一条Trace log"); log.Debug("记录一条Debug log"); log.Info("记录一条Info log"); log.Warn("记录一条Waring log"); log.Error("记录一条Error log"); log.Fatal("记录一条Fatal log"); <?xml version="1.0" encod.
.net core 升级到3.x,变化还是比较多,之前配置的 NLog 也出了问题,需要重新配置。 直接在NuGet中搜索 NLog .Web.AspNetCore,安装4.9+版本。 创建配置 文件 <?xml version="1.0" encoding="utf-8" ?> < nlog xmlns="http://www. nlog -project.org/schemas/NL...
NLog 记录 日志 是微软官方推荐使用。 接下来,通过配置 日志 记录到 文件 和Sql Server数据库。 第一步:首先添加包 NLog .Config (可通过微软添加包命令Install-Package 包名进行添加,也可以通过管理NuGet程序包进行添加),添加成功后会生成 NLog .config配置 文件 。并对该配置 文件 进行配置。详细配置可参考Git上 NLog 说明。 一下是我个人配置。
步骤1:项目中加入 NLOG 库打开“工具”->“NuGet包管理器”,搜索“ NLOG ”,安装“ NLog ”和“ NLog .Windows.Forms”两个库,如下图所示步骤2:添加引用具体路径见下图 步骤3:增加 NLog .config 文件 NLog .xsd 文件 可以从其它位置上COPY过来,也可以自己编写; NLog .config 文件 为LOG的配置 文件 ,具体语法和意义见我的另一篇博文说明; NLog .xsd是语法 文件 ,不用改动步骤4:在程序中增加引用 步骤5:设置config 文件 复制到 输出 目录 步骤6:使用
NLog 是一个基于.NET平台编写的 日志 记录类库,我们可以使用 NLog 在应用程序中添加极为完善的跟踪调试代码。可以在任何一种.NET语言中 输出 带有上下文的(contextual information)调试诊断信息,根据喜好配置其表现样式之后发送到一个或多个 输出 目标(target)中。官网地址:https:// nlog -project.org/文档地址:https://github.com/ NLog / NLog /wiki (2)代码实现 (3)运行结果 (2)配置 文件 NLog 是一个基于.NET平台编写的类库,我们可以使用 NLog 在应用程序中添加极为完善的跟踪调试代码。本文主要介绍的是关于 NLog 配置的相关内容,下面话不多说了,来一起看看详细的介绍吧 NLog 配置 新建一个 文件 命名为 NLog .Config,然后添加如下代码 10...