1、log4net配置及使用第一步:在项目引用log4net.dll文件第二步: 在Web.config文件中加入一句代码,位置如下: 第三步: 建立一个单独的配置文件,文件名为:log4net.config (这个配置文件会在App_Data目录下按日期每天产生一个日志文件,如:Logs_20090703.txt)log4net.config配置文件内容: 第四步:(这步很关键)(应该建立web项目而不是网站)在文件AssemblyInfo.cs加入一句代码,AssemblyInfo.cs的路径所在Properties目录下加入的代码如下:/ 日志组件配置assembly: log4net.Co
2、nfig.DOMConfigurator(ConfigFile = log4net.config, Watch = true)第五步:开始使用log4net的.cs代码using log4net;using System.Configuration;object o = ConfigurationSettings.GetConfig(log4net); log4net.Config.DOMConfigurator.Configure(o as System.Xml.XmlElement);(此处的代码已过时) log4net.ILog logger = log4net.LogManager.G
3、etLogger(WebLogger); logger.Debug(调试); logger.Error(这是一个错误日志); logger.Fatal(这是一个致命的错误日志); logger.Warn(这是一条警告日志); logger.Info(这是一条普通信息); ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); /记录错误日志 log.Error(error,new Exception(发生了一个异常); /记录严重错误 log.Fatal(fatal,new Ex
4、ception(发生了一个致命错误); /记录一般信息 log.Info(info); /记录调试信息 log.Debug(debug); /记录警告信息 log.Warn(warn); Console.WriteLine(日志记录完毕。); Console.Read();第二部分详细说明:涉及多种输出途径下面的例子展示了如何利用log4net记录日志 。首先从官方网站下载最近版本的log4net组件,现在的最新版本是1.2.10。在程序中我们只需要log4net.dll文件就行了,添加对log4net.dll的引用,就可以在程序中使用了。接着我们配置相关的配置文件(WinForm对应的是*.
5、exe.config,WebForm对应的是*.config),本实例中是控制台应用程序,配置如下(附各配置的说明): !- 如果不启用相应的日志记录,可以通过这种方式注释掉 - 程序文件:using System;using System.Collections.Generic;using System.Text;using System.Windows.Forms;using System.Reflection;using log4net;/注意下面的语句一定要加上,指定log4net使用.config文件来读取配置信息/如果是WinForm(假定程序为MyDemo.exe,则需要一个My
6、Demo.exe.config文件)/如果是WebForm,则从web.config中读取相关信息assembly: log4net.Config.XmlConfigurator(Watch = true)namespace Log4NetDemo / / 说明:本程序演示如何利用log4net记录程序日志信息。log4net是一个功能著名的开源日志记录组件。 / 利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库中(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)。 / 下面的例子展示了如何利用
7、log4net记录日志 / 作者:周公 / 时间:2008-3-26 / 首发地址: / public class MainClass public static void Main(string args) /Application.Run(new MainForm(); /创建日志记录组件实例 ILog log = log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); /记录错误日志 log.Error(error, new Exception(发生了一个异常); /记录严重错误 log.Fat
8、al(fatal, new Exception(发生了一个致命错误); /记录一般信息 log.Info(info); /记录调试信息 log.Debug(debug); /记录警告信息 log.Warn(warn); Console.WriteLine(日志记录完毕。); Console.Read(); 详细配置说明说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址:首先说明一点的是,log4net解决的问题是提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括M
9、S SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中,一般来说我们只需要提供一个描述性的字符串,然后log4net就会自动提供有关运行时的一些信息。Log4Net的版本仍是1.2.10(2008年我写博文的时候也是这个版本),有.NET1.0和.NET1.1和.NET2.0版本,如果有正在使用高于.NET2.0开发的也不用担心,可以直接引用这个类库,像在.NET2.0中开发一样,它的网址是:http:/logging.apache.org/log4net/关于在Web中支持的问题在我们开发项目时都会使用到config文件,可以在config文
10、件中配置log4net。这一点Web项目和WinForm项目都是一样的。需要注意的是,因为在Web项目中一般以较低权限的角色来运行Web项目的,所以在使用文件型日志时要注意不要放在本项目根文件夹之外。在config文件中的配置要使用log4net,首先要在config文件的节点中增加配置(如果没有这个节点请手动增加),如下:view plaincopy to clipboardprint? 除此之外,还要在顶级节点下增加子节点。在节点下就可以增加子节点,每个子节点代表一种记录日志的方式(仅在这里配置了不代表启用了)。具体说来有如下Appender:AdoNetAppender:利用ADO.NE
11、T记录到数据库的日志。AnsiColorTerminalAppender:在ANSI 窗口终端写下高亮度的日志事件。AspNetTraceAppender:能用中Trace的方式查看记录的日志。BufferingForwardingAppender:在输出到子Appenders之前先缓存日志事件。ConsoleAppender:将日志输出到控制台。EventLogAppender:将日志写到Windows Event Log. FileAppender:将日志写到文件中。LocalSyslogAppender:将日志写到local syslog service (仅用于UNIX环境下). Me
12、moryAppender:将日志存到内存缓冲区。NetSendAppender:将日志输出到Windows Messenger service.这些日志信息将在用户终端的对话框中显示。RemoteSyslogAppender:通过UDP网络协议将日志写到Remote syslog service。RemotingAppender:通过.NET Remoting将日志写到远程接收端。RollingFileAppender:将日志以回滚文件的形式写到文件中。SmtpAppender:将日志写到邮件中。TraceAppender:将日志写到.NET trace 系统。UdpAppender:将日志connectionless UDP datagrams的形式送到远程宿主或以UdpClient的形式广播。关于使用log4net中可能会使用到的一些参数%m(message):输出的日志消息,如ILog.Debug()输出的一条消息 %n(new line):换行 %d(datetime):输出当前语句运行的时刻 %r(run time):输出程序从运行到执行到当前语句时消耗的毫秒数 %t(thread id):当前语句所在的线程ID %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN等 %c(class):当前日志对象的名称,例如
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1