日志框架Nlog之将日志输出到数据库
2015-09-24 17:15
267 查看
如果你是跟着小编从
Nlog之前言
Nlog之将日志输出到控制台
Nlog之将日志输出到文件
读到现在的。那你也一定知道,我们本篇博客输出到数据库的关键点还是在配置文件的配置而已。为了本篇博客的完整性,大家再跟我一起熟悉一下整个过程。
和之前不同的是,我们添加了连接数据库的配置和插入语句。(当然需要数据库有相应的表。贴心的小编已经把数据库表的创建语句准备好了。见底部。)
至此,运行程序我们查看一下数据库
总结:
NLog的博客越写越简单了。我想大家也能体会出NLog的强大。封装的很好,可提供的方式很多。给了我们很
大的支撑让我们去做成我们想要的日志功能。
NLog系列博客,未完待续。。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
附:创建表的脚本。
Nlog之前言
Nlog之将日志输出到控制台
Nlog之将日志输出到文件
读到现在的。那你也一定知道,我们本篇博客输出到数据库的关键点还是在配置文件的配置而已。为了本篇博客的完整性,大家再跟我一起熟悉一下整个过程。
第一步:添加对NLog的引用
具体步骤已经在上文中详细的写到了。 请移步日志框架Nlog之将日志输出到控制台第二步:配置NLogConfing
<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
相关文章推荐
- Oracle一张表的多个字段更新到另一张表中去
- teradata查看,取消正在回滚的表
- Oracle11g安装后只有本地可以连接,远程无法连接,而且本地只能配置成localhost配置成IP地址也无法连接。...
- mysqldump的使用
- zabbix mysql数据库迁移方案
- sql注入攻击
- PostgreSQL自定义函数返回单条记录类型的例子...
- oracle 存储过程插入数据不成功
- 使用 redis list 实现滑动窗口
- mysql 安装问题
- mysql fabric基础测试
- This function has none of DETERMINISTIC, NO SQL, o
- 弃用数据库自增ID,曝光一下我自己用到的解决方法
- 连接远程mysql
- 你不从地址栏中增加曝光量所需的数据库ID方法
- 使用MySQL Migration Toolkit快速将Oracle数据导入MySQL
- MySQLHA系列MHA(一)
- [oracle学习笔记]之二:oracle常用函数
- 高性能mysql(一)优化数据类型
- oracle 创建空间索引