使用log4net记录日志到MySQL中 (转)

http://www.cnblogs.com/kongxx/archive/2005/10/09/251073.aspx

在log4net是.net平台中日志记录的开源工具包,其中包括了很多记录日志的方式和模板,详细可以参考log4net的document,这里仅仅就在使用log4net向MySQL记录日志做说明。

1)首先需要到mysql的官方网站(www.mysql.com)下载驱动,网站上提供了两个驱动,这里我使用的mysql-connector-net连接器,版本是1.0.6。其中在下载的时候会有两种包,一种是.exe安装包,一种是no-install包,我这里使用的是no-install包(文件名:mysql-connector-net-1.0.6-noinstall.zip)。解压缩zip文件,复制bin\net-1.1\release\MySql.Data.dll到项目下;
2)在项目中添加引用,选择MySql.Data.dll;
3)在本机的mysql上使用test数据库,使用一下sql创建表:

CREATE   TABLE  mylog111 (
  id 
int ( 11 NOT   NULL  auto_increment,
  log_datetime 
timestamp   NOT   NULL ,
  log_thread 
varchar ( 255 default   NULL ,
  log_level 
varchar ( 255 default   NULL ,
  log_logger 
varchar ( 255 default   NULL ,
  log_message 
varchar ( 255 default   NULL ,
  
PRIMARY   KEY   (id)


4)修改app.config添加以下内容

<? xml version="1.0" encoding="gb2312"  ?>
< configuration >
    
< configSections >         
        
< section  name ="log4net"  type ="log4net.Config.Log4NetConfigurationSectionHandler, log4net"   />         
    
</ configSections >
    
    
< log4net >
        
< appender  name ="stdout"  type ="log4net.Appender.ConsoleAppender" >
            
< layout  type ="log4net.Layout.PatternLayout" >
                
< param  name ="ConversionPattern"  value ="[%d %l] %m%n"   />
            
</ layout >
        
</ appender >
        
        
< appender  name ="ADONetAppender"  type ="log4net.Appender.ADONetAppender" >
            
< param  name ="ConnectionType"  value ="MySql.Data.MySqlClient.MySqlConnection, MySql.Data"   />
            
< param  name ="ConnectionString"  value ="database=test;server=localhost;user id=root;password=;old syntax=yes" />
            
< param  name ="CommandText"  value ="insert into mylog(log_datetime,log_thread,log_level,log_logger,log_message) values(@log_datetime, @log_thread , @log_level, @log_logger, @log_message)"   />
            
            
< param  name ="Parameter" >
                
< param  name ="ParameterName"  value ="@log_datetime"   />
                
< param  name ="DbType"  value ="DateTime"   />
                
< param  name ="Layout"  type ="log4net.Layout.PatternLayout" >
                    
< param  name ="ConversionPattern"  value ="%d{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"   />
                
</ param >
            
</ param >

            
< param  name ="Parameter" >
                
< param  name ="ParameterName"  value ="@log_thread"   />
                
< param  name ="DbType"  value ="String"   />
                
< param  name ="Size"  value ="255"   />
                
< param  name ="Layout"  type ="log4net.Layout.PatternLayout" >
                    
< param  name ="ConversionPattern"  value ="%t"   />                 
                
</ param >
            
</ param >
            
< param  name ="Parameter" >
                
< param  name ="ParameterName"  value ="@log_level"   />
                
< param  name ="DbType"  value ="String"   />
                
< param  name ="Size"  value ="50"   />
                
< param  name ="Layout"  type ="log4net.Layout.PatternLayout" >
                    
< param  name ="ConversionPattern"  value ="%p"   />
                
</ param >
            
</ param >
            
< param  name ="Parameter" >
                
< param  name ="ParameterName"  value ="@log_logger"   />
                
< param  name ="DbType"  value ="String"   />
                
< param  name ="Size"  value ="255"   />
                
< param  name ="Layout"  type ="log4net.Layout.PatternLayout" >
                    
< param  name ="ConversionPattern"  value ="%c"   />
                
</ param >
            
</ param >
            
< param  name ="Parameter" >
                
< param  name ="ParameterName"  value ="@log_message"   />
                
< param  name ="DbType"  value ="String"   />
                
< param  name ="Size"  value ="255"   />
                
< param  name ="Layout"  type ="log4net.Layout.PatternLayout" >
                    
< param  name ="ConversionPattern"  value ="%m"   />
                
</ param >
            
</ param >
        
</ appender >

        
< appender  name ="file"  type ="log4net.Appender.RollingFileAppender" >
            
< param  name ="File"  value ="log\\log"   />
            
< param  name ="AppendToFile"  value ="true"   />
            
< param  name ="RollingStyle"  value ="Date"   />
            
< param  name ="DatePattern"  value ="yyyy-MM-dd"   />
            
< layout  type ="log4net.Layout.PatternLayout" >
                
< param  name ="ConversionPattern"  value ="[%d %l] %m%n"   />
            
</ layout >
        
</ appender >
        
< root >
            
< level  value ="ALL"   />
            
< appender-ref  ref ="ADONetAppender"   />
        
</ root >
        
< logger  name ="*" >
            
< level  value ="ALL"   />
            
< appender-ref  ref ="ADONetAppender"   />
        
</ logger >
    
</ log4net >
</ configuration >

5)在代码中使用一下代码测试
    log.Info("==========================");

如果顺利应该OK了,呵呵。

转载于:https://www.cnblogs.com/jambol/archive/2007/08/23/866394.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值