将Log4net应用到MVC

  项目中遇到测试困难的地方,用到了log4net来记录程序执行日志,帮助测试。log4net可以到nuget上去下载。

  一、在web.config中配置log4net,代码及注释如下:

  

 <!--log4net 配置-->  
  <configSections>
    <!--name="节点名称" type="类,命名空间"-->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>   
  </configSections>

  <log4net>
    <!--定义输出到文件中-->
    <!--可以定义多种日志输出介质 如:控制台、数据库等-->
    <!--type="log4net.Appender.FileAppender"是调用了输出到文件所用的类-->
    <appender name="LogFileAppender" type="log4net.Appender.FileAppender">
      <!--输出到E盘的LogFileAppender.txt文件-->
      <file value="E:\\LogFileAppender.txt"/>
      <!--true  文件被追加写入-->
      <!--false 文件被覆盖-->
      <appendToFile value="true"/>
      <!--对要输出的记录内容 重新格式化-->
      <layout type="log4net.Layout.PatternLayout">
        <header value="log4netHeader"/>
        <!--这里的各种符号是 log4net.Layout.PatternLayout的一些转换模式 后面再说-->
        <conversionPattern value="记录时间:%d 线程ID:[%t] 日志级别:%-5p 出错类:%l property:[%p] - 错误描述:%m%n" />
        <footer value="log4netFooter"/>
      </layout>
      <!--对内容按日志级别进行过滤-->
      <filter type="log4net.Filter.LevelRangeFilter">
        <levelMin value=""/>
        <levelMax value=""/>
      </filter>
    </appender>

    <!--根标签 定义最低等级的日志操作 条件-->
    <root>
      <!--定义日志级别  只有方法的级别高于等于日志级别 日志请求才会被执行 这个后面再说-->
      <level value="warn"/>
      <!--要使用的日志输出介质-->
      <appender-ref ref="LogFileAppender"/>
    </root>
    <!--定义一个 指定的log调用对象,操作条件不受root影响-->
    <!--可以直接通过 LogManager.GetLogger("testlog")调用-->
    <logger name="testlog">
      <level value="warn"/>
      <appender-ref ref="LogFileAppender"/>
    </logger>
  </log4net>

 

  二、在Global.asax下的Application_Start()内添加下面这句代码,相当于初始化Log4net。

  

log4net.Config.XmlConfigurator.Configure();

  三、在项目中使用Log4net。

  

public class LogNetController : Controller
    {
        //
        // GET: /LogNet/
        ILog log=LogManager.GetLogger(typeof(LogNetController));
        public ActionResult Index()
        {
            log.Warn("log4net写入测试");
            return View();
        }

    }

        四、log4net相关知识讲解。

  1>关于log4net的级别。

  在配置文件中我们提到有一个root根节点下定义了一个level,这个就是定义了log4net最底层的写入日志的级别,见下表:

    

  2>log4net的转换模式

  在配置文件中格式化输出消息的时候

  

  

posted @ 2013-01-14 14:16  小飞的DD  阅读(260)  评论(0编辑  收藏  举报