首先,用下面的SQL语句在要记录的数据库中创建表:
CREATE TABLE [dbo].[Log] ( [Id] [int] IDENTITY (1, 1) NOT NULL, [Date] [datetime] NOT NULL, [Thread] [varchar] (255) NOT NULL, [Level] [varchar] (50) NOT NULL, [Logger] [varchar] (255) NOT NULL, [Message] [varchar] (4000) NOT NULL, [Exception] [varchar] (2000) NULL )
然后用如下的方式配置Appender
基本配置
上面配置中的第3行配置了日志中的缓存的收集的事件的最大数目。这里设置了100,日志缓存中的数目达到100时,Log就会将缓存的日志写入数据库,并清空缓存。当log4net关闭时,log4net会自动把日志写入数据库,尽管没有达到100。
如果不配置BufferSize,那么默认值是512。
数据库连接配置
上面配置中的第4到第6行显示了数据库连接的配置。
ConnectionType设置了使用什么类型的数据库连接,例子中使用的是SqlConnection,这里,ConnectionType需要的是继承自IDbConnection接口的类所在的Assembly的FullName。
ConnectionString则是对应的数据连接的连接字符串。
CommandText是SQL命令字符串,这里使用的是SQL语句,当然,也可以使用存储过程,如果使用存储过程,那么需要增加一项配置如下:
<Param name="CommandType" value="StoredProcedure"/>
很显然,从第7行一直到49行,都是针对CommandText中的SQL语句的参数的配置。
需要注意的是,对于每一个参数都定义了参数输出的Layout,我前面的文章介绍过,Layout是log4net日志输出的最后一层,负责将要输出的信息格式化后输出。
在这个例子里,使用了三种Layout:
配置完成之后,就可以直接使用了。
下面是一个具体的例子的下载:
例子下载
值得一提的是,存储数据库的信息不仅仅只有例子中这些信息,在实际应用中,可以自己决定存入那些信息。具体的可使用的信息可以参考 PatternLayout 、 RawTimeStampLayout 、 ExceptionLayout 的解释。
昵称: [登录] [注册]
主页:
邮箱:(仅博主可见)
验证码: 看不清,换一个
评论内容:
登录 注册
[使用Ctrl+Enter键快速提交评论]
Powered by: 博客园 Copyright © I坐标