Log4Net获取异常信息并写入Mysql数据库


本文介绍使用Log4net实现获取程序的错误信息,并将错误信息写入Mysql的数据库。

第一步:

引用相关的dll插件:log4net.dll和Mysql.Data.dll

第二步:添加log4net.config文件。

<?xml version="1.0" encoding="utf-8"?>
<configuration>
    <system.web>
      <compilation debug="true" targetFramework="4.5" />
      <httpRuntime targetFramework="4.5" />
    </system.web>
    <configSections>
      <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
    </configSections>
    <log4net>
      <appender name="AdoNetAppender_MySql" type="log4net.Appender.AdoNetAppender">
        <bufferSize value="1"/>
        <param name="ConnectionType" value="MySql.Data.MySqlClient.MySqlConnection, MySql.Data"/>
        <param name="ConnectionString" value="server=localhost;database=lognet;Uid=root;Pwd=12345;"/>
        <commandText value="INSERT INTO logdetails (LogDate,LogThread,LogLevel,LogLogger,LogActionClick,LogMessage,UserName,UserIP) VALUES (@log_date, @thread, @log_level, @logger, @ActionsClick, @message,@UserName,@UserIP)"/>
        <parameter>
          <parameterName value="@log_date"/>
          <dbType value="DateTime"/>
          <layout type="log4net.Layout.RawTimeStampLayout"/>
          <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss}" />
        </parameter>
        <parameter>
          <parameterName value="@thread"/>
          <dbType value="String"/>
          <size value="255"/>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%thread"/>
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@log_level"/>
          <dbType value="String"/>
          <size value="50"/>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%level"/>
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@logger"/>
          <dbType value="String"/>
          <size value="255"/>
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%logger"/>
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@message" />
          <dbType value="String" />
          <size value="3000" />
          <layout type="Log4NetApply.MyLayout">
            <conversionPattern value="%property{Message}" />
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@ActionsClick" />
          <dbType value="String" />
          <size value="4000" />
          <layout type="Log4NetApply.MyLayout" >
            <conversionPattern value = "%property{ActionsClick}"/>
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@UserName" />
          <dbType value="String" />
          <size value="30" />
          <layout type="Log4NetApply.MyLayout" >
            <conversionPattern value = "%property{UserName}"/>
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@UserIP" />
          <dbType value="String" />
          <size value="20" />
          <layout type="Log4NetApply.MyLayout" >
            <conversionPattern value = "%property{UserIP}"/>
          </layout>
        </parameter>
      </appender>
      <root>
        <level value="ALL"/>
        <appender-ref ref="AdoNetAppender_MySql"/>
      </root>
      <logger name="*">
        <level value="ALL" />
        <appender-ref ref="AdoNetAppender_MySql" />
      </logger>
    </log4net>
</configuration>

第三步:添加自定义异常类Log4Netclass(具体我不写了,后面我会给出代码连接)


第四步:修改Global.asax文件

void Application_Start(object sender, EventArgs e)
        {
            // 在应用程序启动时运行的代码
            XmlConfigurator.Configure();    

            BundleConfig.RegisterBundles(BundleTable.Bundles);
            AuthConfig.RegisterOpenAuth();
            RouteConfig.RegisterRoutes(RouteTable.Routes);
        }

第五步:在AssemblyInfo.cs文件中添加

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]


具体源代码下载:http://download.csdn.net/download/javon_huang/9958042


猜你喜欢

转载自blog.csdn.net/Javon_huang/article/details/77727389
今日推荐