zoukankan      html  css  js  c++  java
  • 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("在这里发生了一个异常"));
                }
            }

      

  • 相关阅读:
    Zend Framework 2.1.5 中根据服务器的环境配置调用数据库等的不同配置
    在基于 Eclipse 的 IDE 中安装和使用 Emmet(ZenCoding)
    【翻译】Emmet(Zen Coding)官方文档 之六 自定义 Emmet
    【翻译】Emmet(Zen Coding)官方文档 之二 缩写
    【翻译】Emmet(Zen Coding)官方文档 之七 一览表
    【翻译】Emmet(Zen Coding)官方文档 之三 CSS 缩写
    【翻译】Emmet(Zen Coding)官方文档 之四 动作
    【翻译】Emmet(Zen Coding)官方文档 之一 web 编程的必备工具
    Zend Framework 2 时区设置警告问题的解决
    【翻译】Emmet (Zen Coding) 元素类型
  • 原文地址:https://www.cnblogs.com/scottckt/p/2101978.html
Copyright © 2011-2022 走看看