zoukankan      html  css  js  c++  java
  • log4net写入日志到sqlserver数据库

    1、添加log4Net配置文件log4net.config  

      配置文件属性设置为:

      配置如下:

    <?xml version="1.0" encoding="utf-8"?>
    <log4net debug="false">
      <appender name="AdoNetAppender" type="log4net.Appender.AdoNetAppender">
        <bufferSize value="2" />
        <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=2.0.0.0, Culture=Neutral, PublicKeyToken=b77a5c561934e089" />
        <connectionString value="Data Source=.SQLExpress;Initial Catalog=testDb;Integrated Security=true" />
        <commandText value="INSERT INTO SysLogs ([Date],[Thread],[Level],[Logger],[Message],[Exception]) VALUES (@log_date, @thread, @log_level, @logger, @message, @exception)" />
        <parameter>
          <parameterName value="@log_date" />
          <dbType value="DateTime" />
          <layout type="log4net.Layout.RawTimeStampLayout" />
        </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="4000" />
          <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%message" />
          </layout>
        </parameter>
        <parameter>
          <parameterName value="@exception" />
          <dbType value="String" />
          <size value="2000" />
          <layout type="log4net.Layout.ExceptionLayout" />
        </parameter>
      </appender>
      <root>
        <level value="ALL" />
        <appender-ref ref="AdoNetAppender" />
      </root>
    </log4net>

    2.在数据库创建SysLogs表

    3.webConfig 配置

    <configSections>
          <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
      </configSections>
      <log4net configSource="log4net.config"/>

    4.应用程序启动时设置配置项  Global.asax

       protected void Application_Start()
            {
    
                //应用程序启动时,自动加载配置log4Net  
                XmlConfigurator.Configure();
    
            }

    5.日志写入示例

    public static class LogHelp
        {
            public static void WriteError(Exception ex)
            {
                ILog log = log4net.LogManager.GetLogger("Log");
                log.Error(ex.Message, ex);
            }
        }
  • 相关阅读:
    HUNAN 11562 The Triangle Division of the Convex Polygon(大卡特兰数)
    HUNAN 11560 Yangyang loves AC(二分+贪心)
    CSU 1425 Prime Summation
    CSU 1424 Qz’s Maximum All One Square
    一个奇怪的语法问题
    CSU 1416 Practical Number
    CSU 1412 Line and Circles
    Android第一篇
    强大到无与伦比的Graphviz
    CSU 1355 地雷清除计划
  • 原文地址:https://www.cnblogs.com/tangchun/p/7843859.html
Copyright © 2011-2022 走看看