log4net配置写入SQL Server数据库(sqlserver-sqlclient) 并传入自定义业务对象
来源:互联网 发布:普通网民 阿里云能干嘛 编辑:程序博客网 时间:2024/05/29 17:59
http://www.cnblogs.com/Arlen/archive/2008/11/22/1338908.html
本贴在原来帖子的基础上有些修改,经过本人的实际运行调试运行,本贴中的代码都可以直接复制使用。
在项目中需要记录业务日志(即用户进行了什么操作,操作什么内容,什么时候,操作内容以结构化的方式存储,以方便以后数据挖掘)。
系统采用了log4net来将业务日志记录到数据库中,反正在log4net中加个Appender就可以。由于业务需要记录的并不是简单的系统时间%date,级别%level,信息%message等字段,而是自定义的业务字段。发现记录日志的info,error,debug等方法可以传入object参数:log.info(object message)。于是到网上查找它是不是象我们预想的这样,传一个自定义的业务日志对象给info方法,它自动帮我得到该业务对象的字段的值。找了半天,答案是:不行。
仔细想了下,难道别人都不这样用吗?别人是怎么传入自定义业务对象?
虽然看起来已经没有什么必要,但还是自己做出了解决方案。
下面把配置方式及传入自定义业务对象的解决方案附上。
一、log4net针对sqlserver的配置方式:
(注:如果配置写入数据库,需要将System.Data.dll拷到bin目录下。)
再写入数据库之前,首先看一下,将要写入的数据库表的结构。
表名是test_log
再看看我们自定义的消息类。
public class LogContent
{
public string Reason{get;set;}
public string Name { get; set; }
}
万事具备,只欠东风了,下面就是配置文件了。
到了这里,程序还不能运行,对了,还少一个东西,那就是自定义的MyLayout呀,下面给出代码。
代码的调用
运行结果。
来自:http://blog.csdn.net/niuyongjie/archive/2010/07/30/5777625.aspx
- log4net配置写入SQL Server数据库(sqlserver-sqlclient) 并传入自定义业务对象
- log4net配置写入SQL Server数据库(sqlserver-sqlclient) 并传入自定义业务对象
- log4net配置写入SQL Server数据库(sqlserver-sqlclient) 并传入自定义业务对象
- log4net配置写入文本和写入数据库(sqlserver-sqlclient,mysql-odbc) 传入自定义业务对象
- log4net写入到SQL server的基本配置(downmoon)
- Windows Mobile 连接SQL SERVER数据库 SqlClient
- log4net把自定义的变量写入数据库
- asp.net利用log4net写入日志到SqlServer数据库
- C#语言SqlClient接口SQL Server数据库类
- Log4Net获取异常信息并写入Mysql数据库
- log4net 写日志到 Sql server 数据库
- mybatis自定义动态sql传入对象
- sql server数据库 写入图片
- 日志写入文件,写入sqlserver数据库(自定义参数)
- [C#]log4net写SQLServer数据库日志的配置方法
- [C#]log4net写SQLServer数据库日志的配置方法
- log4net写SQLServer数据库日志的配置方法
- 配置Log4net把日志写到SQLServer数据库
- 使用appfuse2.1.0-M2建立项目原型骨架的步骤
- c语言练习9
- Agile PLM Process Extensions FAQ
- Case Study: The Web Guidelines
- 彻底解决Android中文乱码
- log4net配置写入SQL Server数据库(sqlserver-sqlclient) 并传入自定义业务对象
- 你的知识资产(程序员修炼之道摘录六)
- C/C++ unit testing tools
- 基于 Android NDK 进行 OpenGL ES开发
- 12月1日 mysql 字段类型
- c#中各种数据类型的转化
- MySQL笔记(MySQL索引)
- How to write a DCOM server in C# 如何用C#编写DCOM服务器
- 12.1MATLAB生物信号处理调试