您的位置:首页 > 数据库 > MySQL

使用log4net记录日志到MySQL中

2005-10-09 17:45 573 查看
在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了,呵呵。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: