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

使用log4net记录日志到MySQL中 (转)相关推荐

  1. asp.net mvc中用 log4net记录日志到数据库中

    1.log4net官网配置相关,创建数据库 http://logging.apache.org/log4net/release/config-examples.html CREATE TABLE [d ...

  2. 关于log4net日志写入mysql数据库记录

    网上关于log4net日志写入mysql数据库的博客感觉比较少,所以这边搞定之后先过来记录一下. 首先新建个项目,我命名是log4netDemo,然后需要引入两个dll,一个是mysql.dll,一个 ...

  3. C#使用log4net记录日志

    1.下载 log4net 右键引用,选择 管理NuGet程序包,选择浏览,输入log4net,然后点击下载 2.在App.config中输入内容(不存在自己创建) <?xml version=& ...

  4. oracle日期导出mysql_oracle的数据导入到mysql中,遇到一个时间转换问题

    Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等 Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量.增量 ...

  5. 一条SQL语句在MySQL中是如何执行的

    来源:http://t.cn/E6U9Z9T 概览 本篇文章会分析下一个sql语句在mysql中的执行流程,包括sql的查询在mysql内部会怎么流转,sql语句的更新是怎么完成的. 一.mysql架 ...

  6. mysql执行效率低_如何查询mysql中执行效率低的sql语句

    展开全部 一.MySQL数据库有几个配置选项可以32313133353236313431303231363533e59b9ee7ad9431333337373563帮助我们及时捕获低效SQL语句 1, ...

  7. 使用log4net记录日志到数据库(含有自定义属性)

    记录日志是管理系统中对用户行为的一种监控与审核,asp.net中记录日志的方式有很多种,这里我只介绍一下最近用到的log4net,关于他的具体介绍网上有很多,我讲一下他的用法. 第一步:在配置文件中的 ...

  8. sqlinesdata教程_oracle数据库中的表如何能够导入到mysql中?

    Manager进程:需要源端跟目标端同时运行,主要作用是监控管理其它进程,报告错误,分配及清理数据存储空间,发布阈值报告等 Extract进程:运行在数据库源端,主要用于捕获数据的变化,负责全量.增量 ...

  9. MySQL中的几类日志文件介绍

    MySQL中的几类日志文件介绍 关于Mysql日志 splunk内置了两种mysql的日志,分别是mysqld以及mysql_error mysqld_error Standard mysql err ...

最新文章

  1. 千万别在UI线程上调用Control.Invoke和Control.BeginInvoke,因为这些是依然阻塞UI线程的,造成界面的假死...
  2. AI成为世界互联网大会重要议题 第四范式AutoML登上央视
  3. JS中的Math.ceil和Math.floor函数的用法
  4. eclipse 收缩 选择行_阳台晾衣架不是只能装天花板上,学学日本,挂护栏上折叠收缩轻松...
  5. JavaScript实现longestCommonSubsequence最长公共子序列算法(附完整源码)
  6. CentOS6.5下RabbitMQ安装
  7. Jedis与Redisson选型对比
  8. SAP Spartacus 404 Not found页面的显示机制 - canActivateNotFoundPage
  9. Java局部变量一定要赋初值
  10. html块中的内容垂直居中,css如何设置行内元素与块级元素的内容垂直居中
  11. 参数估计_随机微分方程的参数估计(一)
  12. Java 虚拟机学习笔记 | 类加载过程和对象的创建流程
  13. google地图静态api使用助手(html源码)
  14. (梳理)用Tensorflow实现SE-ResNet(SENet ResNet ResNeXt VGG16)的数据输入,训练,预测的完整代码框架(cifar10准确率90%)
  15. 谷歌学术镜像mark
  16. BUCT2021年ACM竞赛班训练(四)全题解(0x3f3f3f3f)
  17. 【算法】麦克风阵列的自适应降噪算法
  18. jQuery选择器大全| jQuery选择器大全
  19. 机器学习完整项目实战附代码(一):探索型数据分析+特征工程+建模+报告
  20. 四个适合空闲时间自我提升的软件

热门文章

  1. vue 页面闪烁的问题_vue页面加载闪烁问题的解决方法
  2. antd table设置表格一个单元格的字体颜色_微软Office三件套,各有一个效率神器,全都知道的人不超过1%...
  3. JZOJ__Day 10:【普及模拟】【USACO】山峰暸望
  4. java启动100线程_Java启动新线程的几种方式(Runnable、Callable、CompletableFuture)
  5. JAVA实现服务器间拷贝文件,寻找在Java服务器之间传输大文件的好方法
  6. P4550 收集邮票-洛谷luogu
  7. matlab中fprintf函数的具体使用方法
  8. js获取网页面的高度和宽度
  9. jQuery解决高度统一问题
  10. 20155313 2016-2017-2 《Java程序设计》第二周学习总结