zoukankan      html  css  js  c++  java
  • Log4net使用

    0、安装log4net

      

    nuget方式安装
    
    Install-Package log4net

    1、Web.config配置

          该config配置可以放在web.config文件中,也可以单独拎出来一个配置文件。只需要在第2步中加载对应的就可以了。

          首先引入log4net.dll程序集,log4net分debug版release版本。

          在configSections节点中加入:

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

          configSections节点一定要放在Web.config最上面

          加入节点log4net节点,如下:

    
    
      <log4net debug="false">
        <!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL -->
        <!-- Print only messages of level DEBUG or above in the packages -->
        <logger name="ServiceLogger">
          <level value="ALL" />
          <appender-ref ref="SysAppender" />
        </logger>

        <appender name="SysAppender" type="log4net.Appender.RollingFileAppender,log4net">
          <param name="File" value="log/" />
          <param name="AppendToFile" value="true" />
          <param name="RollingStyle" value="Date" />
          <param name="DatePattern" value="&quot;log_&quot;yyyyMMdd&quot;.txt&quot;" />
          <param name="StaticLogFileName" value="false" />
          <layout type="log4net.Layout.PatternLayout,log4net">
            <param name="ConversionPattern" value="[%d]  %-5p - %m%n" />
            <param name="Header" value="&#xD;&#xA;------------------------------------------------------------------------&#xD;&#xA;" />
            <param name="Footer" value="&#xD;&#xA;------------------------------------------------------------------------&#xD;&#xA;" />
          </layout>
        </appender>
      </log4net>
     

    2、加载log4net的config配置

      如果是单独的配置文件,要指定文件路径。

    log4net.Config.XmlConfigurator.Configure(new FileInfo(@"config.log4net"));

      有2种方式:   

        1)在Application_Start事件中加入

    log4net.Config.XmlConfigurator.Configure()

        2)在AssemblyInfo.cs文件中配置

    //加载log4配置
    [assembly: log4net.Config.XmlConfigurator()]

    3、MVC项目

        1)MVC新建错误类

          要继承自HandleErrorAttribute类, 重载 OnException方法,加入下面代码,其中error.html为出现错误时要转到的错误页、log.Debug()方法输出错误信息到指定的文件夹下。

          using myLog=log4net;       

    //异常处理记录 myLog.ILog log = myLog.LogManager.GetLogger("WebLogger"); log.Debug(filterContext.Exception); //转到错误提示页 filterContext.HttpContext.Response.Redirect("/error.html");

        2)MVC替换掉原来的错误过滤器

          在FilterConfig.cs类下注册全局过滤器时,更换为filters.Add(new MyErrorHandleAttribute())。到这里基本的配置就可以了。

        3)注册filterconfig

          如果在Application_Start中,没有注册过滤器,要注册一下,因为在过滤器中。

     FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);

    4、MVC或WebForm项目,都可以在Application_Error事件中进行处理

    private readonly log4net.ILog log = log4net.LogManager.GetLogger("ServiceLogger");
    //获取最近的一次异常
                log.Error(Server.GetLastError().GetBaseException());
                //处理完及时清理异常 
                Server.ClearError();
                //Server.Transfer("error.html");
                Response.Redirect("Error.html");

    5、测试方法   

    int a=1;
    int b=0;
    int c=a/b;

     

  • 相关阅读:
    《java程序设计》第三周学习总结
    《Java程序设计》第2周学习总结
    #20175201 实验一 Java开发环境的熟悉(Linux + Eclipse)
    学号 20175201张驰 《Java程序设计》第4周学习总结
    #学号 20175201张驰 《Java程序设计》第3周学习总结
    #学号 20175201张驰 《Java程序设计》第2周学习总结
    #学号 20175201张驰 《Java程序设计》第1周学习总结
    实现一个book类
    学号 20175329 2018-2019-3《Java程序设计》第六周学习总结
    20175229许钰玮 2018-2019-2《Java程序设计》结对编程项目-四则运算 第一周 阶段性总结
  • 原文地址:https://www.cnblogs.com/zhaoyihao/p/4662678.html
Copyright © 2011-2022 走看看