博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
NLog日志——将日志保存在数据库中
阅读量:5037 次
发布时间:2019-06-12

本文共 1361 字,大约阅读时间需要 4 分钟。

在我上一篇文章中,简单的记录了将NLog日志的信息保存在文件中,不过很多时候,一些重要的Error信息,我们可能更希望保存在数据库中。所以我继续按照这个思路,完善了下上次的Demo。

首先要在数据库中新建一个表,用来保存NLog信息,建表语句如下:

USE [TestDB]GO/****** Object:  Table [dbo].[Loginfoes]    Script Date: 12/20/2012 11:47:59 ******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[Loginfoes](	[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
数据库名为TestDB

然后,我们就要在targets中添加如下的target标签:

insert into Loginfoes([CreateOn],[Origin],[LogLevel], [Message], [Exception],[StackTrace]) values (getdate(), @origin, @logLevel, @message,@exception, @stackTrace);
其中,简单介绍下connectionString是连接数据库的语句,这个我相信搞过web或者winforms开发的同学都不陌生,commandText标签中是操作数据的sql语句,parameter标签则是参数选项。

OK,接下来我们要在rules标签中添加一个logger,代码如下:

这样儿,只要是Debug级别以上的信息,都会被记录到数据库中,当然,也可以根据个人需要,只记录Fatal Error,其他的一般记录保存在文本文件里。

接下来,就是我们的main方法的方法体了,很简单的一句代码,如下所示:

logger.Fatal("Fatal Error!");
执行程序,然后我们去数据库中查询下结果,如下图所示:

这样儿,一个简单的NLog日志保存到数据库中的Demo就完成了,如果大家还有更多的需求,请查阅NLog官网的相关文档。

转载于:https://www.cnblogs.com/jeepxiaozi/archive/2012/12/20/3017331.html

你可能感兴趣的文章
【47.76%】【Round #380B】Spotlights
查看>>
Git(使用码云)
查看>>
分享Java web 开发必游之路
查看>>
IIS初始化(预加载),解决第一次访问慢,程序池被回收问题(转载)
查看>>
Bean的Scope
查看>>
【BZOJ】3142: [Hnoi2013]数列
查看>>
http初探
查看>>
elasticsearch的安装
查看>>
__next__()
查看>>
爬取:中国大学排名
查看>>
聊天室(C++客户端+Pyhton服务器)_1.框架搭设
查看>>
UpdatePanel 内控件 更新“外的”控件【转】
查看>>
mybatis中>=和<=的实现方式
查看>>
Python面向对象03/继承
查看>>
java序列化和反序列化
查看>>
绝对定位
查看>>
flink源码编译(windows环境)
查看>>
dpkg 删除 百度网盘 程序
查看>>
服务器nginx安装
查看>>
std::nothrow
查看>>