zoukankan      html  css  js  c++  java
  • Log4net

    直接上代码

    1   nuget  下载 log4net。这个不多说了,大家都会

    2   web.config (下面是两套配置,我的项目webapi和mvc网站记录的文件夹不同)

    web和webapi一起写的:

      <log4net>  
        <root>  
          <appender-ref ref="WebLog" />  
        </root>  
        <appender name="WebLog" type="log4net.Appender.RollingFileAppender,log4net">  
          <file value="Log/" />  
          <appendToFile value="true" />  
          <rollingStyle value="Date" />  
          <datePattern value="yyyy-MM-dd_HH&quot;.txt&quot;" />  
          <maxSizeToRollBackups value="10" />  
          <maximumFileSize value="5MB" />  
          <staticLogFileName value="false" />  
          <layout type="log4net.Layout.PatternLayout,log4net">  
            <conversionPattern value="%d - %-5level - %c - %m%n" />  
          </layout>  
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />  
        </appender>  
      </log4net> 

    web和webapi分开写的:

    <configuration>  
     <!-- 这句很重要 -->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
    
    <log4net>
        <root>
          <appender-ref ref="ApiLog" />
          <appender-ref ref="WebLog" />
        </root>
        <appender name="ApiLog" type="log4net.Appender.RollingFileAppender">
          <file value="LogApi" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyy-MM-dd&quot;.log&quot;" />
          <maxSizeToRollBackups value="10" />
          <maximumFileSize value="5MB" />
          <staticLogFileName value="false" />
          <filter type="log4net.Filter.LoggerMatchFilter">
            <loggerToMatch value="ApiLog" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
          <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%d - %-5level - %c - %m%n" />
          </layout>
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        </appender>
    
    
        <appender name="WebLog" type="log4net.Appender.RollingFileAppender">
          <file value="LogWeb" />
          <appendToFile value="true" />
          <rollingStyle value="Date" />
          <datePattern value="yyyy-MM-dd&quot;.log&quot;" />
          <maxSizeToRollBackups value="10" />
          <maximumFileSize value="5MB" />
          <staticLogFileName value="false" />
          <filter type="log4net.Filter.LoggerMatchFilter">
            <loggerToMatch value="WebLog" />
          </filter>
          <filter type="log4net.Filter.DenyAllFilter" />
          <layout type="log4net.Layout.PatternLayout,log4net">
            <conversionPattern value="%d - %-5level - %c - %m%n" />
          </layout>
          <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
        </appender>
      </log4net>
    
    </configuration>
    



    3   记录日志  在 Global.asax

    void Application_Start(object sender, EventArgs e)
            {
                log4net.Config.XmlConfigurator.Configure();
            //log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
            }
    void Application_Error(object sender, EventArgs e)
            {
                Exception ex = Server.GetLastError().GetBaseException();
                string msg = "
    " + "StackTrace:
    " + ex.StackTrace 
                             + "
    
    " + "Message:
    " 
                             + ex.Message + "
    
    
    
    ";
    
                //根据不同的Log对象,执行记录
                //记录api的异常
                log4net.ILog log = log4net.LogManager.GetLogger("APILog");
                //记录web的异常
                log4net.ILog log = log4net.LogManager.GetLogger("WebLog"); 
    
                log4net.Config.XmlConfigurator.Configure(); 
                log.Info(msg); 
                Server.ClearError(); 
                Response.Redirect("~/ErrorManager/ErrorPage"); 
             }
    
    
    
    
    
    


    PS :发布的时候,一定要到 bin目录下 找到 log4net.xml这个文件一起拷贝到站点!

  • 相关阅读:
    制作openresty的docker镜像 + nginx笔记 调试rewrite和location Nginx 学习笔记
    C# winform在WebBrowser下获取完整的Cookies(包括含HTTPOnly属性的)
    vscode代码切换大小写的教程
    C#中的Guid
    .NET Framework 版本和依赖关系
    将 Excel 数据导入 SQL Server数据库
    sqlserver各版本的介绍对比
    使用 Visual Studio Code 创建并运行 Transact SQL 脚本
    SQL转Linq工具的使用——Linqer 4.6
    对象之间的映射(AutoMapper集成)
  • 原文地址:https://www.cnblogs.com/hanjun0612/p/9779897.html
Copyright © 2011-2022 走看看