• Log4Net 1.2.0 记录在MSSql数据库 用法


    使用一、简单用法。

    1、下载Log4net,官网地址:http://logging.apache.org/log4net/

    2、在项目中引用Log4Net.Dll

    3、在Web.Config中增加下边字体加粗部分的配置。

    <configuration>
      
    <configSections>
        
    <sectionGroup name="system.web.extensions" type="System.Web.Configuration.SystemWebExtensionsSectionGroup, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
          ……
        
    </sectionGroup>
        
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
      
    </configSections>

      
    <log4net>
        
    <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
          
    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
          
    <connectionString value="data source=;initial catalog=YqSystem;integrated security=false;persist security info=True;User ID=sa;Password=123"/>
          
    <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
          
    <parameter>
            
    <parameterName value="@log_date"/>
            
    <dbType value="DateTime"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@thread"/>
            
    <dbType value="String"/>
            
    <size value="255"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%thread"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@log_level"/>
            
    <dbType value="String"/>
            
    <size value="50"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%level"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@logger"/>
            
    <dbType value="String"/>
            
    <size value="255"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%logger"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@message"/>
            
    <dbType value="String"/>
            
    <size value="4000"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%message"/>
          
    </parameter>
        
    </appender>
        
    <root>
          
    <appender-ref ref="AdoNetAppender_SqlServer" />
        
    </root>
      
    </log4net>
      
    <appSettings/>

     4、在Global.asax的Application_Start事件中增加配置。

         protected void Application_Start(object sender, EventArgs e)
            {
            log4net.Config.XmlConfigurator.Configure();          
            }

        也可以在项目AssemblyInfo.cs中添加下边语句来替换:

    [assembly: log4net.Config.XmlConfigurator(Watch = true)]

    5、使用,请看下边加粗的部分。

            log4net.ILog myLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            
    protected void Page_Load(object sender, EventArgs e)
            {
                
    try
                {
                    
    throw new Exception("Eric Test Message!");
                }
                
    catch (Exception ex)
                {
                    myLogger.Error(
    "测试"new Exception("在这里发生了一个异常"));
                }
            }

    使用二、将Log4Net配置放在独立文件中

     1、2步不变。从第3步变更如下。

    3、在项目中添加配置文件log4net.config,配置文件中的内容如下:

    <?xml version="1.0" encoding="utf-8"?>

    <configuration>
      
    <configSections>
        
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
      
    </configSections>
      
    <log4net>
        
    <appender name="AdoNetAppender_SqlServer" type="log4net.Appender.AdoNetAppender">
          
    <connectionType value="System.Data.SqlClient.SqlConnection, System.Data, Version=1.0.3300.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
          
    <connectionString value="data source=;initial catalog=YqSystem;integrated security=false;persist security info=True;User ID=sa;Password=123"/>
          
    <commandText value="INSERT INTO Log ([Date],[Thread],[Level],[Logger],[Message]) VALUES (@log_date, @thread, @log_level, @logger, @message)"/>
          
    <parameter>
            
    <parameterName value="@log_date"/>
            
    <dbType value="DateTime"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@thread"/>
            
    <dbType value="String"/>
            
    <size value="255"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%thread"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@log_level"/>
            
    <dbType value="String"/>
            
    <size value="50"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%level"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@logger"/>
            
    <dbType value="String"/>
            
    <size value="255"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%logger"/>
          
    </parameter>
          
    <parameter>
            
    <parameterName value="@message"/>
            
    <dbType value="String"/>
            
    <size value="4000"/>
            
    <layout type="log4net.Layout.PatternLayout" value="%message"/>
          
    </parameter>
        
    </appender>
        
    <root>
          
    <appender-ref ref="AdoNetAppender_SqlServer" />
        
    </root>
      
    </log4net>

    </configuration>

    4、在项目AssemblyInfo.cs中添加下边语句

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

    5、使用与上边的使用相同。代码如下:

            log4net.ILog myLogger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
            
    protected void Page_Load(object sender, EventArgs e)
            {
                
    try
                {
                    
    throw new Exception("Eric Test Message!");
                }
                
    catch (Exception ex)
                {
                    myLogger.Error(
    "测试"new Exception("在这里发生了一个异常"));
                }
            }

      

  • 相关阅读:
    我的北漂之路 北漂如饮水,冷暖自知
    初学者路径规划 | 人生苦短我用Python
    web开发快速提高工作效率的一些资源
    工作中如何快速成长和学习?
    把手账打印成书 把回忆装订成册
    算法训练 K好数 (DP)
    算法训练 最大的算式(DP)
    算法训练 数字三角形(DP)
    算法训练 Balloons in a Box (枚举,模拟)
    算法训练 Pollution Solution(计算几何)
  • 原文地址:https://www.cnblogs.com/scottckt/p/2101978.html
Copyright © 2020-2023  润新知