以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [分享]foxtable中使用log4net (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=40515) |
||||
-- 作者:lxl -- 发布时间:2013/9/22 15:33:00 -- [分享]foxtable中使用log4net 有一段时间没上论坛了。 今天正好有空,想写点什么,却发现对于Foxtable我已经变成一个新手了。想来想去,还是介绍一下怎么在foxtable里面使用log4net吧。 log4net是比较有名的开源日志组件,它可以帮助程序员将日志信息输出到各种目标(控制台、文件、数据库、发送邮件等)。比如记录一些关键操作信息到数据库,方便管理人员的跟踪。也可以在程序发生异常时,把异常信息记录到文件,或者(并且)发送邮件通知开发人员。 写代码时,不需要考虑日志的输出目标,具体是写文件还是发邮件是在配置文件中进行配置,程序即使在运行中,也可以修改配置,并立即生效。附件的配置只记录txt文件,其他类型输出的配置可以在网上找到,或者阅读官方说明文档。 Log4net使用比较简单。例如: ? 记录普通信息: mylogger.Info("用户xxx登陆系统") ? 记录调试信息 mylogger.Debug("变量a的值为" + a) ? 记录异常信息 mylogger.Error("程序错误", ex); ex。为捕获的异常。关于捕获异常,见:http://www.foxtable.com/help/topics/2070.htm 上面的myLogger是一个变量,它代表一个记录器。记录器一共有5中记录方法,除了上面出现的3中,还有 Warn、Fatal。 这5种方法使用完全相同,第一个参数是要输出的字符串,第二个方法是可选的异常对象。 它们没有实质的区别,只是代表信息不同重要级别:Debug < Info < Warn < Error< Fetal 。把信息分成5个等级后,可以修改配置,让组件只记录重要的日志,而忽略不重要的日志,以提高性能。 比如使用Debug方法输入开发人员关心的日志,项目交付后,修改配置。系统只记录Info级别以上的日志,并为Fetal级别的日志发送邮件。 如果日志不是太多,为了简单,也只使用一种方式记录日志,而不考虑级别问题。例如所有日志通过info方法记录。 Log4net可以使用多个记录器(例如每个模块使用一个记录器),并在配置文件里分别配置。下面演示的整个程序只使用一个记录器,即在全局代码里面声明一个记录器变量 mylogger,并在项目打开时初始化这个变量。 下面列出详细步骤: 1、复制log4net.dll到foxtable.exe目录。(附件中提供,也可以去网上下载)。 2、复制配置文件log4net.config到foxtable.exe目录。 3、添加对log4.net的引用。 4、全局代码声明记录器: Dim myLogger As log4net.Ilog 5、项目Initialize事件初始化记录器: log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo("log4net.config")) \'读取配置文件 myLogger = log4net.LogManager.GetLogger("loggerName") 这里的log4net.config对应步骤2对应的配置文件名。loggerName对应记录器名称。由于我们整个程序只使用了一个记录器,并且不会再配置中单独配置这个记录器,所以名字可以随意取。 6、命令窗口测试myLogger对象: mylogger.Info("记录日志") mylogger.Info ("异常测试:",new Exception("12345")) 检查一下foxtable.exe目录,会发现多出一个logs文件夹,里面则是生成的日志文件。 这里的配置文件和输出文件都在foxtable.exe目录。对于发布后的程序foxtable.exe和项目文件在同一目录,但是对于未发布的项目,如果想Log4net的配置和输出在项目文件目录下,则需要对上面某几个不步骤做一些调整。 2、复制配置文件log4net.config到目录文件夹。 5、 配置文件相对路径"log4net.config" 修改为拼接的绝对路径 ProjectPath & "log4net.config" 如此,配置文件则改为项目文件目录了。 如果日志输出方式选择文件方式,则还需要在log4net.config中修改文件输出路径。可以将此输出路径写死为项目文件夹,如果感觉在配置文件里面把输出路径写死不太好,可以在第5步加载配置前,用代码读文件,替换字符串的方式修改配置文件。保存后再加载修改后的配置文件。(其实log4net 有加载配置文件后,直接修改配置对象的方法,这里不做介绍) 只有几行代码,我就不传示例项目了。
[此贴子已经被作者于2013-9-22 15:39:18编辑过]
|
||||
-- 作者:Bin -- 发布时间:2013/9/22 15:38:00 -- 顶一下!呵呵,狐表自身有日志.一般情况下就不需要使用这个了. log4net确实是个好东西一直都在用它. |
||||
-- 作者:lsy -- 发布时间:2013/9/22 15:41:00 -- 顶。
|
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/9/22 15:42:00 -- 呵呵,顶lxl版主。
|
||||
-- 作者:lxl -- 发布时间:2013/9/22 15:45:00 -- 以下是引用Bin在2013-9-22 15:38:00的发言:
顶一下!呵呵,狐表自身有日志.一般情况下就不需要使用这个了. log4net确实是个好东西一直都在用它. 嗯,狐表的日志也简单好用。 log4net麻烦点,但是强在只修改配置,不修改代码,就能把文件记录的方式改成数据库记录,或者异常的时候发邮件。 |
||||
-- 作者:程兴刚 -- 发布时间:2013/9/22 16:08:00 -- 顶! |
||||
-- 作者:nothing -- 发布时间:2013/9/22 20:50:00 -- 收藏起来慢慢体会 |
||||
-- 作者:不倒的翁 -- 发布时间:2013/9/22 22:08:00 -- 顶! |
||||
-- 作者:有点甜 -- 发布时间:2013/9/22 22:46:00 -- 楼主应该是写web的吧? |