前面大致介绍了一下log4net的概述和结构。既然都清楚了,下面我来介绍一下如何使用log4net.

使用流程

1.这里所说的使用流程就是使用log4net.dll,首先要根据你的平台来找出对应的版本的log4net.dll

2.然后对log4net对进行配置,一些参数的配置,比如我们要输出到什么介质中,输出格式如何……具体的配置方式有下面四种

在这里只对使用步骤进行概括:具体使用方法请参看最后的例子。

1、  在项目中添加对log4net.dll的引用。

2、  程序启动时读取log4net的配置文件。

(1)如果是CS程序,在根目录的Program.cs中的Main方法中添加:log4net.Config.XmlConfigurator.Configure();

(2)如果是BS程序,在根目录的Global.asax.cs(没有新建一个)中的Application_Start方法中添加:log4net.Config.XmlConfigurator.Configure();

(3)无论BS还是CS程序都可直接在项目的AssemblyInfo.cs文件里添加以下的语句:[assembly: log4net.Config .XmlConfigurator()]

修改配置文件。如果是CS程序,则在默认的App.config文件(没有新建一个)中添加内容;如果是BS程序,则添加到Web.config文件中,添加内容一样,这里不再列出。或则使用自定义的配置文件。

(4)使用自定义的配置文件。     调用如下方法读取配置文件,注意path必须为绝对路径。

 log4net.Config.XmlConfigurator.ConfigureAndWatch(path);

3.  在程序使用。

log4net.ILog log = log4net.LogManager.GetLogger("logger");//获取一个日志记录器

log.Info("record success");//写入一条新log

 经过上面三步就ok了,我们就可以使用log4net进行日志记录了。

log4Net配置文件注意事项

1. log4net框架会尝试在应用程序的BaseDirectory指向的目录中查找配置文件,即在 AppDomain.CurrentDomain.BaseDirectory(局数据框架的webconfig相同的路径)的位置上查找。而log4net查找的唯一目标就是在配置文件中的< log4net>标志出的XML内容。

2./configuration/configSection/section 这个项有点特殊,如果你使用的是.net的应用配置文件,那么这个项必须出现,如果你使用的自定义的配置文件,那么这个项可以是不要的,自定义的配置文件只需要<log4net>这个项。

3.Logger是通过类似命名空间的层次结构命名和管理的,每一个应用中的Logger都有一个Root Logger,也就是默认Logger,<root>项就是用于定义Root Logger的。但是,<root>项并不是必须的,因为<root>项只有在配置文件中没有配置任何Logger的时候才起作用,此时,log4net将使用<root>项的配置作为创建一个Logger时的默认配置。所以,在这个例子里,因为上面已经配置了 <logger>,所以<root>并不起作用,放在这里只是为了做一个完整的配置说明。 但是,需要注意的是,<root>并非完全不起作用。如果我们在代码中使用了LogManager.GetLog(...),其中的参数指定了一个不在配置文件中的Logger的@name时,那么log4net将会把<root>作为默认Logger,并依据<root>的配置创建一个Logger。

总结

本文总结的是如何把log4net调用到我们的程序中。但在这里只对使用步骤进行概括,具体使用方法请参看最后的例子。这里提供两个例子:wince平台下使用log4net记录日志用一个简单的示例说明日志记录组件log4net的使用.其他网上的demo也很多,大家可以参考。

log4net使用流程的更多相关文章

  1. log4net学习目录

    log4net是用来记录日志的,日志是用来帮助我们排除错误和异常的.这是我们编写软件必须要用到的东西,前面总结了一些有关日志和log4net的文章,在这整理个目录东大家参考. C#日志工具汇总 log ...

  2. 关于log4net日志的配置流程

    最近又重新整理一下log4net日志的配置,现在记录一下流程和一些遇到的问题,以备后续使用,具体的配置参数等信息.此文无,见谅! 1. 下载log4net.dll文件(网上很多,随便找一个!) 2. ...

  3. LOG4NET开源日志dll引用流程,在net3.5中已经实践ok

    一,在app.config中配置 <?xml version="1.0"?><configuration> <configSections> & ...

  4. log4net快速使用流程

    以下内容大部分来自这里,对原作者流子表示感谢 1.Nuget安装,当前版本2.0.8 2.创建log4net.config文件,文件内容如下: <?xml version="1.0&q ...

  5. 【开源】OSharp3.3框架解说系列(7.1):初始化流程概述

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

  6. Log4net在类库中的用法

    app.config应当放置在解决方案的根目录下.具体流程如下: 第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 第二步:需要配置相关的配置文件App.config或Web.co ...

  7. ELK+FileBeat+Log4Net搭建日志系统

    ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...

  8. log4net面面观之工作原理

    转自:逗逼的博客:http://itrust.cnblogs.com/archive/2005/01/25/97225.html 要知道Log4net究竟是咋干活的,咱们可以从下面这个脉络简图入手.你 ...

  9. log4net自定义字段写入SqlServer数据库 ASP.net

    首先申明,本示例经过本作者亲自试验通过,可以运行 第一步 编写log4net配置文件 此处为Log.xml,该文件放在与Web.config平级的位置 <?xml version="1 ...

随机推荐

  1. qt qml 利用xmlhttprequest 调用有赞api

    最近朋友在有赞商城上面开了一个店铺,因为有实体店,一般卖商品后送货上门,但是打票时候老是人工用world文档人工复制黏贴订单打印小票, 所以就找我帮忙做一个软件专门打印小票的,就研究起来调用有赞第三方 ...

  2. 服务器端开发(Python/C++)-今日头条-拉勾网-最专业的互联网招聘平台

    服务器端开发(Python/C++)-今日头条-拉勾网-最专业的互联网招聘平台 服务器端开发(Python/C++)

  3. mac 系统开发android,真机调试解决方式(无数的坑之后吐血总结)

    近期学习android开发,安装了ADT开发环境之后,启动模拟器,慢的要死啊,全然不如苹果的好用,没法,自己买个android手机,准备联机调试程序.没想到在这个过程中,遇到了好多的坑,作为一个新人, ...

  4. c++特殊函数

    C++中NULL不能写作小写,NULL的值为零,也可以写作0 在自己写的复制构造函数中不改变原对象,所以传进来的参数可以设为const类型的,这样可以保证传进来的对象不被改变 比如A(const A ...

  5. HDU OJ 5326 Work( 2015多校联合训练第3场) 并查集

    题目连接:戳ME #include <iostream> #include <cstdio> #include <cstring> using namespace ...

  6. 自己新建Xib 和.h .m文件关联

    代理中注意点 1.新建MainViewController.h 和 MainViewController.m文件: 新建Main.xib文件: 2.拖View到Main.xib中: 3.点击File’ ...

  7. String类的一些方法

    String 类有以下方法: startsWith(String prefix) boolean java.lang.String.startsWith(String prefix) Tests if ...

  8. .NET C#操作文件系统数据的常用方法总结 part1

    目录导航 1.0开启文件隐藏属性 1.1开启文件夹只读属性 1.2输出子文件夹路径 1.3统计文件数目 1.4批量重命名文件 1.5分割文件 1.6拼接文件 1.7读取用逗号分割的值 1.8读写压缩数 ...

  9. DG创建和提取虚拟机文件

    http://www.cr173.com/soft/33359.html http://www.diskgenius.cn/help/newvmdk.php

  10. 为什么要用BASE64

    BASE64和其他相似的编码算法通常用于转换二进制数据为文本数据,其目的是为了简化存储或传输.更具体地说,BASE64算法主要用于转换二进 制数据为ASCII字符串格式.Java语言提供了一个非常好的 ...