如果你是跟着小编从
读到现在的。那你也一定知道,我们本篇博客输出到数据库的关键点还是在配置文件的配置而已。为了本篇博客的完整性,大家再跟我一起熟悉一下整个过程。Nlog之前言
Nlog之将日志输出到控制台
Nlog之将日志输出到文件
具体步骤已经在上文中详细的写到了。 请移步日志框架Nlog之将日志输出到控制台
<span style="font-family:KaiTi_GB2312;font-size:18px;"> <targets> <target xsi:type="Database" name="database" connectionString=" Data Source=(local);Initial Catalog=test;Persist Security Info=True; User ID=madanmei;Password=123456" commandText="insert into NLog_Log([CreateOn],[Origin],[LogLevel], [Message], [Exception],[StackTrace]) values (getdate(), @origin, @logLevel, @message,@exception, @stackTrace)"> <!--日志来源--> <parameter name="@origin" layout="${callsite}"/> <!--日志等级--> <parameter name="@logLevel" layout="${level}"/> <!--日志消息--> <parameter name="@message" layout="${message}"/> <!--异常信息--> <parameter name="@exception" layout="${exception}" /> <!--堆栈信息--> <parameter name="@stackTrace" layout="${stacktrace}"/> </target> </targets> <rules> <logger name="*" minlevel="Debug" writeTo="database"/> </rules></span>
这一部分和前两篇博客的调用内容也一样。
using NLog; using System; using System.Text; namespace NLogToSql { /// <summary> /// 将Nlog日志输出到数据库Demo-马丹妹-2015-9-24 /// </summary> class Program { private static Logger logger = LogManager.GetCurrentClassLogger(); //Logger对象代表与当前类相关联的日志消息的来源 static void Main(string[] args) { logger.Trace("输出一条记录信息成功!");//最常见的记录信息,一般用于普通输出 logger.Debug("输出一条Debug信息成功!"); //同样是记录信息,不过出现的频率要比Trace少一些,一般用来调试程序 logger.Info("输出一条消息类型信息成功!");//信息类型的消息 logger.Warn("输出一条警告信息成功");//警告信息,一般用于比较重要的场合 logger.Error("输出一条错误信息成功!");//错误信息 logger.Fatal("输出一条致命信息成功!");//致命异常信息。一般来讲,发生致命异常之后程序将无法继续执行。 } } }
至此,运行程序我们查看一下数据库
总结:
NLog的博客越写越简单了。我想大家也能体会出NLog的强大。封装的很好,可提供的方式很多。给了我们很
大的支撑让我们去做成我们想要的日志功能。
NLog系列博客,未完待续。。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
附:创建表的脚本。
USE [test] GO /****** Object: Table [dbo].[NLog_Log] Script Date: 09/24/2015 16:54:50 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE TABLE [dbo].[NLog_Log]( [LogId] [int] IDENTITY(1,1) NOT NULL, [CreateOn] [datetime] NOT NULL, [Origin] [nvarchar](max) NULL, [LogLevel] [nvarchar](50) NULL, [Message] [nvarchar](max) NULL, [Exception] [nvarchar](max) NULL, [StackTrace] [nvarchar](max) NULL ) ON [PRIMARY] GO