zoukankan      html  css  js  c++  java
  • log4net 小记

    突然想到想测试一下log4net,结果折腾了两天,才弄出来.....记录下来以备以后查看

    背景:vs2013 mvc项目中想体验下log4net的功能(主要是文件记录)

    翻看了log4net的相关资料,才发现其实它是有很多功能的,可以把日志记录到一个文本,或是按日期,大小分多个文本记录,还可以记录到数据库,输出到控制台.....等等,这些内容有很多,就不说了,主要说要我自己的碰到的坑。

    这里有详细的直接在mvc 项目文件中集成使用log4net的介绍,我是觉得好麻烦啊,和以前在vs2010 上弄的完全麻烦多了(这里没有考虑把log4net 和 Common.logging 一起使用,一起使用时配置就不用那么麻烦了)

    我主要是要提出来作为一个模块来配置,新建一个类库,在NuGet里面引用log4net

    新建一个LogHelper 类

     1  public class LogHelper
     2     {
     3 
     4         public static void WriteLog(Type t, Exception ex)
     5         {
     6             log4net.ILog logger = log4net.LogManager.GetLogger(t);
     7             logger.Error("Error", ex);
     8         }
     9 
    10 
    11         public static void WriteLog(Type t, string msg)
    12         {
    13             log4net.ILog log = log4net.LogManager.GetLogger(t);
    14             log.Error(msg);
    15             log.Debug(msg);
    16             log.Info(msg);
    17             log.Warn(msg);
    18         }
    19     }
    View Code

    mvc项目 引用该类库,然后添加log4net的配置。

    配置可以分开来写,web.config里面一部分和自定义的xxx.config文件一部分;也可以一起全部写在web.config里面

    不管怎么写配置文件,web.config里面的<configSections>节点里面一定要添加log4net,这里展示的是把<log4net>节点写在web.config里面

    <log4net>
        <!--错误日志配置-->
        <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="D:\xxxx\LogError\" />
          <param name="AppendToFile" value="true" />
          <param name="MaxSizeRollBackups" value="-1" />
          <param name="MaxFileSize" value="10240" />
          <param name="StaticLogFileName" value="false" />
          <param name="DatePattern" value="yyyy-MM-dd.'log'" />
          <param name="RollingStyle" value="Date" />
          <param name="BufferSize" value="1" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n " />
          </layout>
        </appender>
    
        <!--信息日志配置-->
        <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
          <param name="File" value="D:\xxxx\Log\LogInfo\" />
          <param name="AppendToFile" value="true" />
          <param name="MaxFileSize" value="10240" />
          <param name="MaxSizeRollBackups" value="-1" />
          <param name="StaticLogFileName" value="false" />
          <param name="DatePattern" value="yyyy-MM-dd.'log'" />
          <param name="RollingStyle" value="Date" />
          <param name="BufferSize" value="100" />
          <layout type="log4net.Layout.PatternLayout">
            <param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%x] %n%m %n" />
          </layout>
        </appender>
    </log4net>

    还可以单独把<log4net>节点里的内容提取出来放到自定义的xxx.config 文件中

    光这样还是不行的,有个注意的地方

  • 相关阅读:
    Datawhale文化运营 —— 推文排版
    Datawhale文化运营 —— 策划活动
    Datawhale文化运营 —— 选题
    Datawhale文化运营 —— 分析公众号运营
    前端面试——记一次于某司的经历
    Win10+Cent7双系统安装
    梳理 Opengl ES 3.0 (五)shader运行原理
    梳理 Opengl ES 3.0 (三)顶点坐标变换
    梳理 Opengl ES 3.0 (二)剖析一个GLSL程序
    梳理 Opengl ES 3.0 (一)宏观着眼
  • 原文地址:https://www.cnblogs.com/JsonYang/p/4522460.html
Copyright © 2011-2022 走看看