log4net配置及使用.docx
- 文档编号:17809563
- 上传时间:2023-08-04
- 格式:DOCX
- 页数:33
- 大小:26.13KB
log4net配置及使用.docx
《log4net配置及使用.docx》由会员分享,可在线阅读,更多相关《log4net配置及使用.docx(33页珍藏版)》请在冰点文库上搜索。
log4net配置及使用
第一步:
在项目引用log4net.dll文件
第二步:
在Web.config文件中加入一句代码,位置如下:
第三步:
建立一个单独的配置文件,文件名为:
log4net.config
(这个配置文件会在App_Data目录下按日期每天产生一个日志文件,如:
Logs_20090703.txt)
log4net.config配置文件内容:
xmlversion="1.0"encoding="utf-8"?
>
--OFF,FATAL,ERROR,WARN,INFO,DEBUG,ALL-->
--SetrootloggerleveltoERRORanditsappenders-->
--PrintonlymessagesoflevelDEBUGoraboveinthepackages-->
--切割最多文件数-->
--每个文件的大小-->
第四步:
(这步很关键)(应该建立web项目而不是网站)
在文件AssemblyInfo.cs加入一句代码,AssemblyInfo.cs的路径所在Properties目录下
加入的代码如下:
//日志组件配置
[assembly:
log4net.Config.DOMConfigurator(ConfigFile="log4net.config",Watch=true)]
第五步:
开始使用log4net的.cs代码
usinglog4net;
usingSystem.Configuration;
objecto=ConfigurationSettings.GetConfig("log4net");
log4net.Config.DOMConfigurator.Configure(oasSystem.Xml.XmlElement);(此处的代码已过时)
log4net.ILoglogger=log4net.LogManager.GetLogger("WebLogger");
logger.Debug("调试");
logger.Error("这是一个错误日志");
logger.Fatal("这是一个致命的错误日志");
logger.Warn("这是一条警告日志");
logger.Info("这是一条普通信息");
ILoglog=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
//记录错误日志
log.Error("error",newException("发生了一个异常"));
//记录严重错误
log.Fatal("fatal",newException("发生了一个致命错误"));
//记录一般信息
log.Info("info");
//记录调试信息
log.Debug("debug");
//记录警告信息
log.Warn("warn");
Console.WriteLine("日志记录完毕。
");
Console.Read();
第二部分详细说明:
涉及多种输出途径
下面的例子展示了如何利用log4net记录日志。
首先从官方网站下载最近版本的log4net组件,现在的最新版本是1.2.10。
在程序中我们只需要log4net.dll文件就行了,添加对log4net.dll的引用,就可以在程序中使用了。
接着我们配置相关的配置文件(WinForm对应的是*.exe.config,WebForm对应的是*.config),本实例中是控制台应用程序,配置如下(附各配置的说明):
xmlversion="1.0"encoding="utf-8"?
>
--定义输出到文件中-->
--定义文件存放位置-->
log4netfile.txt"/> mm: ss"/> --每条日志末尾的文字说明--> --输出格式--> --样例: 2008-03-2613: 42: 32,111[10]INFOLog4NetDemo.MainClass[(null)]-info--> %date线程ID: [%thread]日志级别: %-5level出错类: %loggerproperty: [%property{NDC}]-错误描述: %message%newline"/> --定义输出到控制台命令行中--> --定义输出到windows事件中--> --定义输出到数据库中,这里举例输出到Access数据库中,数据库为C盘的log4net.mdb--> log4net.mdb"/> --定义各个参数--> --定义日志的输出媒介,下面定义日志以四种方式输出。 也可以下面的按照一种类型或其他类型输出。 --> --文件形式记录日志--> --控制台控制显示日志--> --Windows事件日志--> --如果不启用相应的日志记录,可以通过这种方式注释掉 --> 程序文件: usingSystem; usingSystem.Collections.Generic; usingSystem.Text; usingSystem.Windows.Forms; usingSystem.Reflection; usinglog4net; //注意下面的语句一定要加上,指定log4net使用.config文件来读取配置信息 //如果是WinForm(假定程序为MyDemo.exe,则需要一个MyDemo.exe.config文件) //如果是WebForm,则从web.config中读取相关信息 [assembly: log4net.Config.XmlConfigurator(Watch=true)] namespaceLog4NetDemo { /// ///说明: 本程序演示如何利用log4net记录程序日志信息。 log4net是一个功能著名的开源日志记录组件。 ///利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库中(包括MSSQLServer,Access,Oracle9i,Oracle8i,DB2,SQLite)。 ///下面的例子展示了如何利用log4net记录日志 ///作者: 周公 ///时间: 2008-3-26 ///首发地址: /// publicclassMainClass { publicstaticvoidMain(string[]args) { //Application.Run(newMainForm()); //创建日志记录组件实例 ILoglog=log4net.LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); //记录错误日志 log.Error("error",newException("发生了一个异常")); //记录严重错误 log.Fatal("fatal",newException("发生了一个致命错误")); //记录一般信息 log.Info("info"); //记录调试信息 log.Debug("debug"); //记录警告信息 log.Warn("warn"); Console.WriteLine("日志记录完毕。 "); Console.Read(); } } } 详细配置说明 说明自从上次在2008年在博客上发表过有关log4net的用法介绍文章之后(网址: 首先说明一点的是,log4net解决的问题是提供一个记录日志的框架,它提供了向多种目标写入的实现,比如利用log4net可以方便地将日志信息记录到文件、控制台、Windows事件日志和数据库(包括MSSQLServer,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文件中配置log4net。 这一点Web项目和WinForm项目都是一样的。 需要注意的是,因为在Web项目中一般以较低权限的角色来运行Web项目的,所以在使用文件型日志时要注意不要放在本项目根文件夹之外。 在config文件中的配置 要使用log4net,首先要在config文件的 viewplaincopytoclipboardprint? 除此之外,还要在顶级节点 在 具体说来有如下Appender: AdoNetAppender: 利用ADO.NET记录到数据库的日志。 AnsiColorTerminalAppender: 在ANSI窗口终端写下高亮度的日志事件。 AspNetTraceAppender: 能用中Trace的方式查看记录的日志。 BufferingForwardingAppender: 在输出到子Appenders之前先缓存日志事件。 ConsoleAppender: 将日志输出到控制台。 EventLogAppender: 将日志写到WindowsEventLog. FileAppender: 将日志写到文件中。 LocalSyslogAppender: 将日志写到localsyslogservice(仅用于UNIX环境下). MemoryAppender: 将日志存到内存缓冲区。 NetSendAppender: 将日志输出到WindowsMessengerservice.这些日志信息将在用户终端的对话框中显示。 RemoteSyslogAppender: 通过UDP网络协议将日志写到Remotesyslogservice。 RemotingAppender: 通过.NETRemoting将日志写到远程接收端。 RollingFileAppender: 将日志以回滚文件的形式写到文件中。 SmtpAppender: 将日志写到邮件中。 TraceAppender: 将日志写到.NETtrace系统。 UdpAppender: 将日志connectionlessUDPdatagrams的形式送到远程宿主或以UdpClient的形式广播。 关于使用log4net中可能会使用到的一些参数 %m(message): 输出的日志消息,如ILog.Debug(…)输出的一条消息 %n(newline): 换行 %d(datetime): 输出当前语句运行的时刻 %r(runtime): 输出程序从运行到执行到当前语句时消耗的毫秒数 %t(threadid): 当前语句所在的线程ID %p(priority): 日志的当前优先级别,即DEBUG、INFO、WARN…等 %c(class): 当前日志对象的名称,例如
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- log4net 配置 使用