from Amen:http://www.cnblogs.com/ucetgg/archive/2009/01/20/log4net.html
Log4net 是基于.net开发的一款非常著名的记录日志开源组件。他最早是2001年7月由NeoWorks Limited启动的项目,基本的框架源于另外的一个非常著名的姐妹组件-log4j(可惜.net下怎么就没有这样优秀的软件首先出现呢,都要从j那边 “引进”)。Log4net记录日志的功能非常强大。它可以将日志分不同的等级,比不同的样式,将日志输出到不同的媒介。
官方网站:http://logging.apache.org/log4net/
下载:http://logging.apache.org/log4net/download.html
下载包里包括.net 1.0/1.1/2.0等版本和各种平台下的DEMO
官方SDK:http://logging.apache.org/log4net/release/sdk/index.html
加入以下配置节
上面的配置节,复制就可以用了加入log4net配置内容的定义,这个紧接着上面的内容定义在config文件里就可以了,下面是一个范例:
当我们创建了上面的配置文件后,我们接下来需要把它和我们的应用联系起来。缺省的,每个独立的可执行程序集都会定义它自己的配置。log4net框架使用 log4net.Config.DOMConfiguratorAttribute在程序集的级别上定义配置文件。
例如:可以在项目的AssemblyInfo.cs文件里添加以下的语句
[assembly:log4net.Config.DOMConfigurator(ConfigFile="filename",
ConfigFileExtension="ext",Watch=true/false)]
l ConfigFile:[/B]指出了我们的配置文件的路径及文件名,包括扩展名。
l ConfigFileExtension:[/B]如果我们对被编译程序的程序集使用了不同的文件扩展名,那么我们需要定义这个属性,缺省的,程序集的配置文件扩展名为”config”。
l Watch (Boolean[/B]属性):[/B] log4net框架用这个属性来确定是否需要在运行时监视文件的改变。如果这个属性为true,那么FileSystemWatcher将会被用来监视文件的改变,重命名,删除等事件。
其中:ConfigFile和ConfigFileExtension属性不能同时使用,ConfigFile指出了配置文件的名字,例如,ConfigFile=”Config.txt”
ConfigFileExtension则是指明了和可执行程序集同名的配置文件的扩展名,例如,应用程序的名称是”test.exe”,ConfigFileExtension=”txt”,则配置文件就应该是”test.exe.txt” ;
对于Web网站 可以在
}
另外,也可以将log4net再包装成类库,在类库的Assembly.cs文件中加入配置文件的定义[assembly: log4net.Config.XmlConfigurator(ConfigFile = @"logn4net.config", Watch = true)]
}
关键在于配置,弄清楚了2.2中的配置以后,对于使用就没有任何问题了。
这个东西的强大是有很多中记录日志的方式,在我给出的配置文件里 写出了好几种记录输出方式,经过我亲自测试,都是可以使用的。其实还有很多记录输出方式(参见http://www.cnblogs.com/shyblog/archive/2008/11/18/1336052.html
个人推崇的三种记录日志方式:
(1)数据库记录(如果不影响系统性能,此为首选,方便查询与统计)
(2)windows 事件日志 (这个使我感到它的强大)
(3)电子邮件
其实在实际过程中可以筛选,或者多种输出方式交替使用,比如 所有类型的日志都记录到数据库,等级在WARN以上的日志记录到windows或者文本中,ERROR类型以上的的发送到管理员邮箱。
其实还有很多配置和使用我没有了解清楚,这个还有待以后具体了解。
同时我还碰到几个问题
(1)日志记录近数据库时,感觉有较长的延时(慢5分钟左右,数据库为SQL Server 2000),不知为何
(2)若用多种方式,或者仅用一种方式输出日志时,对系统性能是否有较大影响
(3)应用系统出了关键错误时,那个时候log4net是不是根本就没发发挥作用了,因为系统挂掉了~
(1)Log4Net使用指南
(2)解决log4net独占日志文件的问题以及 log4net的各种输出配置(Appender)
(3).NET开源项目介绍及资源推荐:日志记录
(4)Log4Net五步走
(5)Log4Net 开发文档
(6)Log4net学习笔记
(7)DEMO下载 https://files.cnblogs.com/agtaimaer/Log4netDemo.rar
by: Amen cnblogs博客 转载请注明出处
//****************************************