log4net使用流程
前面大致介绍了一下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使用流程的更多相关文章
- log4net学习目录
log4net是用来记录日志的,日志是用来帮助我们排除错误和异常的.这是我们编写软件必须要用到的东西,前面总结了一些有关日志和log4net的文章,在这整理个目录东大家参考. C#日志工具汇总 log ...
- 关于log4net日志的配置流程
最近又重新整理一下log4net日志的配置,现在记录一下流程和一些遇到的问题,以备后续使用,具体的配置参数等信息.此文无,见谅! 1. 下载log4net.dll文件(网上很多,随便找一个!) 2. ...
- LOG4NET开源日志dll引用流程,在net3.5中已经实践ok
一,在app.config中配置 <?xml version="1.0"?><configuration> <configSections> & ...
- log4net快速使用流程
以下内容大部分来自这里,对原作者流子表示感谢 1.Nuget安装,当前版本2.0.8 2.创建log4net.config文件,文件内容如下: <?xml version="1.0&q ...
- 【开源】OSharp3.3框架解说系列(7.1):初始化流程概述
OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...
- Log4net在类库中的用法
app.config应当放置在解决方案的根目录下.具体流程如下: 第一步:应该下载log4net.dll并引入到你的项目中,下载见附件 第二步:需要配置相关的配置文件App.config或Web.co ...
- ELK+FileBeat+Log4Net搭建日志系统
ELK+FileBeat+Log4Net搭建日志系统 来源:https://www.zybuluo.com/muyanfeixiang/note/608470 标签(空格分隔): ELK Log4Ne ...
- log4net面面观之工作原理
转自:逗逼的博客:http://itrust.cnblogs.com/archive/2005/01/25/97225.html 要知道Log4net究竟是咋干活的,咱们可以从下面这个脉络简图入手.你 ...
- log4net自定义字段写入SqlServer数据库 ASP.net
首先申明,本示例经过本作者亲自试验通过,可以运行 第一步 编写log4net配置文件 此处为Log.xml,该文件放在与Web.config平级的位置 <?xml version="1 ...
随机推荐
- C陷阱与缺陷(二)
第二章 语法陷阱 2.1 理解函数声明 (*(void(*)())0)();任何C变量的声明都由两部分组成:类型以及一组类似表达式的声明符.一旦我们知道了如何声明一个给定类型的变量,那么该类型的类型转 ...
- 一个简单的win32窗口
#include <windows.h>#include <stdio.h> LRESULT CALLBACK WinSunProc( HWND hwnd, // ...
- android FragmentPagerAdapter的“标准”配置
private class ImagePagerAdapter extends FragmentPagerAdapter { public List<ImageItem> ...
- C与C++ 无参函数的区别
在<C++ 编程思想>:“关于无参函数声明,C与C++有很大的差别.在C语言中,声明int fun1(),意味着一个可以有任意数目和类型的函数:而在C++中,指的却是一个没有参数的函数”. ...
- 再见了acm
2013年11月17日长沙区域赛我的最后一场区域赛. 忙碌了三年的acm要停下脚步,一时还无法接受. 这样一个结果有点无奈. 感谢队友,三年三支队伍五个队友,感谢你们.(每当写到这里时就总有点小忍不住 ...
- android: 长按删除listview的item
转自:http://www.cnblogs.com/nuistlr/archive/2012/09/07/2675649.html 首先要继承OnItemLongClickListener publi ...
- mysql自动备份(windows)
许多时候,为了数据安全,我们的mysql数据库需要定期进行备份,下面介绍两种在windows下自动备份方法: 1.复制date文件夹备份 ============================ 例子 ...
- .NET通过PowerShell操作ExChange为用户开通邮箱账号
最近工作中一个web项目需要集成exchange邮箱服务,注册用户时需要动态创建邮箱用户,终于在http://www.cnblogs.com/gongguo/archive/2012/03/12/23 ...
- Python实现 zip解压缩到指定目录
#!/bin/env python #-*- coding:utf-8 -*- import zipfile,os import platform,sys,os from zipfile import ...
- tomcat虚拟主机虚拟目录配置
今天着实要记上一笔,需要配置tomcat虚拟目录的问题 一 首先看两个名词 appBase -- 顾名思义 就是你app所在的目录,目录下面的子目录将自动被部署为应用:war被解压并部署 docBas ...