zoukankan      html  css  js  c++  java
  • log4net示例2-日志输入存入Access(转)

    需求:基于log4net组建,创建Console程序将日志输出到Access数据库。

    具体实施:

    (1)创建控制台程序。

    (2)控制台程序中,添加一个纯文本文件,文件命名为“log-Access.set”

              log-Assess.set文件的内容如下:

    <?xml version="1.0" encoding="utf-8" ?> <log4net xmlns="urn:log4net">   <root xmlns="">     <level value="ALL" />     <appender-ref ref="AdoNetAppender_Access" />   </root>   <appender  xmlns="" name="AdoNetAppender_Access" type="log4net.Appender.AdoNetAppender">     <connectionString value="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:UsersmyDesktop2log4netinloglog4net.mdb " />     <commandText value="INSERT INTO LogDetails([LogDate],[Thread],[logLevel],[Logger],[Message]) VALUES(@logDate, @thread, @logLevel,@logger,@message)" />

         <!--BufferSize为缓冲区大小,只有日志记录超10条才会一块写入到数据库--> 

        <bufferSize value="10"/>     <!--定义各个参数-->     <parameter>       <parameterName value="@logDate" />       <dbType value="String" />       <size value="240" />       <layout type="log4net.Layout.PatternLayout">         <conversionPattern value="%date" />       </layout>     </parameter>     <parameter>       <parameterName value="@thread"/>       <dbType value="String" />       <size value="240" />       <layout type="log4net.Layout.PatternLayout">         <conversionPattern value="%thread" />       </layout>     </parameter>     <parameter>       <parameterName value="@logLevel" />       <dbType value="String" />       <size value="240" />       <layout type="log4net.Layout.PatternLayout">         <conversionPattern value="%level" />       </layout>     </parameter>     <parameter>       <parameterName value="@logger" />       <dbType value="String" />       <size value="240" />       <layout type="log4net.Layout.PatternLayout">         <conversionPattern value="%logger" />       </layout>     </parameter>     <parameter>       <parameterName value="@message" />       <dbType value="String" />       <size value="240" />       <layout type="log4net.Layout.PatternLayout">         <conversionPattern value="%message" />       </layout>     </parameter>   </appender> </log4net>

    注意:(1)文件属性设置为:如果较新则复制

            (2)connectionString设置里面的文件路径。绝对路径

    (3)在AssemblyInfo.cs文件里添加

           [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log-Access.set", Watch = true)]

     (4)在ConnectionString里面对应的路径中,创建log4net.mdb数据库,并创建表

    CREATE TABLE [LogDetails] (     ID   AutoIncrement,     [logDate] longText,     [Thread] longText,     [logLevel] longText,     [Logger] longText,     [Message] longText,     Primary   Key   (ID)

    )    

    (5)添加代码 

      static void Main(string[] args)         {                       ILog log = log4net.LogManager.GetLogger(typeof(Program));             Random random = new Random();             for (int i = 0; i < 2; i++)             {                 //记录错误日志                 if (log.IsErrorEnabled)                     log.Debug("你引起了一个错误,错误ID为:" + random.Next().ToString());

                    //记录严重错误                  if (log.IsFatalEnabled)                     log.Fatal("你引发了一个总结者错误,可能导致系统终止,ID为:" + random.Next().ToString());                 //记录一般信息                 if (log.IsInfoEnabled)                     log.Info("你计划记录一个信息,id为:" + random.Next().ToString());                 //记录调试信息                  if (log.IsDebugEnabled)                     log.Debug("调试信息,调试ID为:" + random.Next().ToString());                 //记录警告信息                 if (log.IsWarnEnabled)                 {                     log.Warn("警告:警告ID为:" + random.Next().ToString());                 }             }         }

    注意:在64位的Windows7系统调试时,如果office是32位将你的应用程序将原有的AnyCPU更改为CPU x86.

            如果是64位,安装64位的Jet40驱动。可以到http://www.microsoft.com/downloads/zh-cn/details.aspx?FamilyID=c06b8369-60dd-4b64-a44b-84b371ede16d 下载

          否则会报错:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。

      其它数据库,基本和Access类似,只是在连接字符串和,插入部分有所不同。 

    示例程序

    https://www.cnblogs.com/mymhj/archive/2012/05/04/2483251.html

  • 相关阅读:
    python有哪些好的学习资料或者博客?
    运维角度浅谈MySQL数据库优化
    MySQL高可用性之Keepalived+Mysql(双主热备)
    Python 开发者节省时间的 10 个小技巧
    PHP 加密的几种方式
    17种常用的jQuery全屏焦点图代码
    13种酷炫的html5 3D图片切换代码
    14款微信小游戏源码下载
    Ext js框架模拟Windows桌面菜单管理模板
    10款 非常酷炫的网站首页焦点图 兼容ie浏览器
  • 原文地址:https://www.cnblogs.com/xihong2014/p/10963584.html
Copyright © 2011-2022 走看看