保存日志到mysql怎么保存_NLog日志——将日志保存在数据库中

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

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

USE [TestDB]

GO

/****** Object: Table [dbo].[Loginfoes] Script Date: 12/20/2012 11:47:59 ******/

SET ANSI_NULLS ON

GO

SET QUOTED_IDENTIFIER ON

GO

CREATE 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!");执行程序,然后我们去数据库中查询下结果,如下图所示:

1355977282_7644.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值