• 在asp.net中使用 log4net


    log4net(Log For Net)是Apache开源的应用于.Net框架的日志记录工具,详细信息参见Apache网站.它是针对Java的log4j(Log For Java的)姊妹工具.用过log4j的都知道,它功能强大,可配置性灵活,线程安全,对日志的输出管理和级别管理方便。具体的使用方法往下看。 

            首先你应该下载log4net.dll并引入到你的项目References中,或者把源代码项目作为你工程的一部分加入到你的工程当中。单击这里下载Log4net 。 

            使用log4net需要知道其中两个比较重要的概念:logger 和 appender。前者是日志记录对象,后者是日志记录的目标,包括控制台,文件,定量大小的文件,远程广播。也就是说我们使用log4net的过程可以是这样的:获得一个用来记录日志的工具对象logger,然后为logger对象指定日志的记录位置.美妙的是,这一切工作都可以在Web.config配置文件中完成,所用的代码极少. 
    其配置如下: 

    先在web.config中的<configuration>节点下添加如下配置: 

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

    用过web.config自定义节点的朋友都知道,还应该配置log4net节点,接下来在<configuration>节点下添加如下log4net节点配置:

     1<log4net debug="false">
     2    <appender name="LogFileAppender" type="log4net.Appender.FileAppender" >
     3        <param name="File" value="c:\Applog.txt" />
     4        <param name="datePattern" value="yyyy-MM-dd HH:mm" />
     5        <param name="AppendToFile" value="true" />
     6        <layout type="log4net.Layout.PatternLayout">
     7            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
     8        </layout>
     9    </appender>
    10    <appender name="HttpTraceAppender" type="log4net.Appender.ASPNetTraceAppender" >
    11        <layout type="log4net.Layout.PatternLayout">
    12            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    13        </layout>
    14    </appender>
    15    <appender name="EventLogAppender" type="log4net.Appender.EventLogAppender" >
    16        <layout type="log4net.Layout.PatternLayout">
    17            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    18        </layout>
    19    </appender>
    20    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
    21        <param name="File" value="C:\Log.txt" />
    22        <param name="AppendToFile" value="true" />
    23        <param name="MaxSizeRollBackups" value="10" />
    24        <param name="MaximumFileSize" value="5MB" />
    25        <param name="RollingStyle" value="Size" />
    26        <param name="StaticLogFileName" value="true" />
    27        <layout type="log4net.Layout.PatternLayout">
    28            <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
    29        </layout>
    30    </appender>
    31    <root>
    32        <level value="DEBUG" />
    33        <appender-ref ref="LogFileAppender" />
    34    </root>
    35</log4net>

            从上面的配置中可以看到定义了多个appender,每一个appender就是一个日志记录的目标。root节点指定了选用哪一个 appender. 在这里我选用了LogFileAppender。

            到这里配置就基本上完成了,但是怎么使用上面的配置呢?log4net为我们提供了在应用程序启动时加载配置信息的入口,很简单,在Global.asax.cs的Application_Start事件中添加如下代码:
    log4net.Config.XmlConfigurator.Configure();

    Application_Error事件添加如下代码:

    using log4net; 

    ILog log = LogManager.GetLogger("Exception Log");
                Exception objErr = Server.GetLastError().GetBaseException();
                string err = "Error in: " + Request.Url.ToString() +
                ". Error Message:" + objErr.Message.ToString();

                log.Error(err); 

    好了,到此为止整个配置过程完成了。

  • 相关阅读:
    redis哨兵模式
    zookeeper 日志输出到指定文件夹
    Zookeeper运维问题集锦
    应用层、传输层、网络层常用协议
    链表排序
    集线器、交换机、路由器的区别
    C链表
    virtio/pass-through
    shell脚本实例
    KVM虚拟化相关-进阶
  • 原文地址:https://www.cnblogs.com/colder/p/2471191.html
Copyright © 2020-2023  润新知