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 文件中

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

  • 相关阅读:
    day25:接口类和抽象类
    vue1
    How the weather influences your mood?
    机器学习实验方法与原理
    How human activities damage the environment
    Slow food
    Brief Introduction to Esports
    Massive open online course (MOOC)
    Online learning in higher education
    Tensorflow Dataset API
  • 原文地址:https://www.cnblogs.com/JsonYang/p/4522460.html
Copyright © 2011-2022 走看看