一、    Log4net特征
    Log4net是一个用于.NET开发环境的日志记录组件,由于它的超快及超灵活,很多大型的应用都会用到。
    它有如下特点:
    1.自定义日志输出级别
        Log4net将日志分为五个级别优先级从高到低依次:FATAL > ERROR > WARN > INFO > DEBUG,此外还有ALL(允许所有的日志请求)和OFF(拒绝所有的日志请求)这两种特殊的级别。可以通过日志级别来控制日志是否输出。如果你配置文件中定义的是INFO级别,程序中有三种日志记录方式
    Log.Info(“日志内容”),Log.Warn(“日志内容”),Log.Debug(“日志内容”)
    则Log.Info,Log.Debug都会输出日志,Log.Warn不会输出日志。
    2.自定义日志输出方式
        Log4net的日志输出方式很灵活,可以将日志输出至文本文件,控制台,邮件,Windows Event Log,数据库等等。
    对于写日志至文本文件还可以有如下非常灵活的配置。
        a.按时间段打印日志,按月,按日 ,按时,按分等随你配置
        b.按文件的大小 打印滚动日志,如每10M,100M一个日志文件,这样可以防止日志文件不至于过大,日志文件达到4,5G日后我们基本上就很难打开了。
        c.指定日志大小,比如说指定500M,那么日志将只有一个且不会超出500M。
    3.性能超快
        Log4net的日志记录性能是采用stringwriter记录日志方式的4倍左右。
二、    Log4net在项目中应用
    1.在log4net的官网http://logging.apache.org/log4net/下载一个log4net.dll,然后在项目中添加引用。
    2.配置
        a.log4net的配置有两种,一种是独立到单独的一个配置文件中,另一种是嵌入程序本身的配置文件中(如web项目的web.config,winform的appsetting中),但这两种的配置都差不多。
        b.配置步骤,在配置文件中的<configSections>节点下加入如下一行
        <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
        c.在<configSections>节点下加入真正用来干活的配置。
    比如说:
    <log4net debug="false">
     <appender name="My Appender " type="log4net.Appender.RollingFileAppender">
      <file value="D:\Vehpro\MyLogger.log" />
    <appendToFile value="true" />
     <rollingStyle value="Date" />
     <datePattern value="yyyyMMdd&quot;.log&quot;" />
     <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c %m%n" />
      </layout>
    </appender>
    <logger name="MyLogger"  additivity="false">
    <level value="ALL"/>
    <appender-ref ref=" My Appender "/>
     </logger>
      <root>
          <level value="ALL" />
          <appender-ref ref=" My Appender "/>
     </root>
    </log4net>

在这段配置中定义了两个logger一个是root,另一个是MyLogger.它们都是通过appender-ref指定的My Appender介质来输出日志。
    d.激活log4net
    对于web工程,如果独立在一个配置文件中,假定配置文件名为log4net.config.xml
        则在Global.asax的Application_Start加入如下两行
        System.IO.FileInfo file = new System.IO.FileInfo(Server.MapPath("~\\log4net.config.xml"));
                log4net.Config.XmlConfigurator.ConfigureAndWatch(file);
        如果配置在web.config中则将代码换成log4net.Config.XmlConfigurator.Configure();

对于应用程序,winform,windows服务等则可以在AssemblyInfo中加入
        [assembly: log4net.Config.XmlConfigurator(Watch = true)]即可。
    3.上战场
    在类中加入一个字段log如下
    private  static log4net.ILog log = log4net.LogManager.GetLogger("MyLogger ");
    GetLogger方法体中的参数MyLogger就是配置文件中定义的logger name,这行代码的意思就是我要采用Mylogger的配置进行日志记录。
    接下来变可以在代码中调用log的方法输出日志了。

第一篇博客,发现写一点点文字还真不是个轻松的事。想写好还是没写得好,想写清没写得清呵呵,欢迎拍砖....

log4net 使用指南,最常遇到的问题整理。。。的更多相关文章

  1. Log4net使用指南

    请在这里下载示例代码 1           简介 1.1          Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的 ...

  2. [转]log4net 使用指南

    声明:本文内容主要译自Nauman Leghari的Using log4net,亦加入了个人的一点心得(节3.1.4). 请在这里下载示例代码 1           简介 1.1          ...

  3. Log4Net使用指南(转)

    转自:http://www.cnblogs.com/dragon/archive/2005/03/24/124254.html 声明:本文内容主要译自Nauman Leghari的Using log4 ...

  4. C# Log4Net使用指南(转)

    1           简介 1.1          Log4net的优点: 几乎所有的大型应用都会有自己的用于跟踪调试的API.因为一旦程序被部署以后,就不太可能再利用专门的调试工具了.然而一个管 ...

  5. Log4Net使用指南之用log4net记录日志到数据库(含有自定义属性)------附Demo例子源代码

    Log4NET简介 log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 前提 最近做项目 ...

  6. log4net菜鸟指南二----生成access和txt

    前言 有可能目标计算机缺少某些组件,导致无法生成access文件,或者打不开文件,这时txt文件就可以方便的使用了 一,标准的控制台程序输出日志到access <?xml version=&qu ...

  7. log4net菜鸟指南

    log4net的作用 提供一个记录日志的框架,可以将日志信息记录到文件(txt.xml等).控制台.Windows事件日志和数据库(MSSQL.Acess.Oracle.DB2和SQLite等). 要 ...

  8. JS搞基指南----延迟对象入门提高资料整理

    JavaScript的Deferred是比较高大上的东西,  主要的应用还是主ajax的应用,  因为JS和nodeJS这几年的普及,  前端的代码越来越多,  各种回调套回调再套回调实在太让人崩溃, ...

  9. git完全cli指南之详细思维导图整理分享

    一直以来都觉得 在开发过程中 能用命令行的还是用命令行 能用快捷键的就要快捷键 前期可能要点学习成本 但是熟练后带来的好处还是非常可观的 所以一直坚持使用命令行的方式来使用git 基本上每个操作都能心 ...

随机推荐

  1. 《Effective Java 2nd》第4章 类和接口

    目录 第13条: 使类和成员的可访问性最小化 第14条:在公有类中使用访问方法而非公有域 第15条:使可变性最小化 第16条:复合优先于继承 第17条:要么为继承而设计,并提供文档说明,要么就禁止继承 ...

  2. git clone时提示(gnome-ssh-askpass:29288): Gtk-WARNING **: cannot open display:

    一.背景 在服务器上克隆源码 二.解决 unset SSH_ASKPSS

  3. LeetCode——Next Permutation

    1. Question Implement next permutation, which rearranges numbers into the lexicographically next gre ...

  4. Hadoop-1.0.4集群搭建笔记

    这篇文章介绍的是简单的配置Hadoop集群的方法,适合实验和小型项目用,正式运行的集群需要用更正规的方法和更详细的参数配置,不适合使用这篇文章. 相关随笔: 用python + hadoop stre ...

  5. Flask 2 程序的基本结构1

    NOTE 1.初始化:所有的Flask程序都必须创建一个程序实例. app = Flask(__name__) # 向Flask的构造函数传入参数__name__ 2.路由和视图函数(VF): Cli ...

  6. Same Tree,判断两个二叉树是不是相同的树,结构相同,每个节点的值相同

    算法分析:这道题很简单,利用递归即可. public class SameTree { public boolean isSameTree(TreeNode p, TreeNode q) { if(p ...

  7. BZOJ 3930 【CQOI2015】 选数

    题目链接:选数 这种SB题我都Wa飞了,彻底没救系列- 首先,我们可以发现1,如果我们选了两个不同的数,那么它们的\(\gcd\)不会超过\(r-l+1\).于是,我们可以设一个\(f_i\)表示任取 ...

  8. Splay树学习

    首先给出一论文讲的很好: http://www.docin.com/p-63165342.html http://www.docin.com/p-62465596.html 然后给出模板胡浩大神的模板 ...

  9. 机器学习算法--svm实战

    1.不平衡数据分类问题 对于非平衡级分类超平面,使用不平衡SVC找出最优分类超平面,基本的思想是,我们先找到一个普通的分类超平面,自动进行校正,求出最优的分类超平面 测试代码如下: import nu ...

  10. [转]PowerDesigner 把Comment写到name中 和把name写到Comment中 pd7以后版本可用

    http://www.cnblogs.com/cxd4321/archive/2009/03/07/1405475.html 在使用PowerDesigner对数据库进行概念模型和物理模型设计时,一般 ...