CnPack Forum » CnVCL 组件包 » 关于日志组件


2005-11-7 10:23 icc
关于日志组件

按我的设想,日志组件对我们非常有用,可以:
帮助我们调试程序,查找错误,作为IDE的Debug增强工具,通过源码调用来实现
可以生成操作记录,供用户查看,或系统维护
Apache中的Log4j就是日志的典范,但目前尚未有delphi版本的类似组件
相信大家没有不用QQ的,其中的消息管理器也是非常的经典,当然它用到了数据库

我认为,这应有以下功能
1、向缓冲区增加信息
2、格式化和输出配置功能

可考虑扩展的功能有,
1、自动计时保存功能
2、日志文件大小限制功能
3、缓冲区达到一定行数自动保存功能
4、自动生成日志文件名功能
5、单例模式


4.1简介

Log4j由三个重要的组件构成:日志信息的优先级,日志信息的输出目的地,日志信息的输出格式。日志信息的优先级从高到低有ERROR、WARN、INFO、DEBUG,分别用来指定这条日志信息的重要程度;日志信息的输出目的地指定了日志将打印到控制台还是文件中;而输出格式则控制了日志信息的显示内容。

log4j.rootLogger = [ level ] , appenderName, appenderName, …
其中,level 是日志记录的优先级,分为OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别。Log4j建议只使用四个级别,优先级从高到低分别是ERROR、WARN、INFO、DEBUG。通过在这里定义的级别,您可以控制到应用程序中相应级别的日志信息的开关。比如在这里定义了INFO级别,则应用程序中所有DEBUG级别的日志信息将不被打印出来。
appenderName就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
    配置日志信息输出目的地Appender
更多资料可从网上找到

[[i] Last edited by icc on 2005-11-7 at 10:27 [/i]]

2005-11-7 12:03 Passion
我们已经在CnPack中实现了一CnDebug.pas,用来输出调试信息。此信息可用CnDebugViewer来读取并查看。不过不是Component的形式,目前也没有实现自动保存的功能。^_^
您可以从CVS上获取最新的源码来阅读。

2005-11-11 12:57 wyb_star
to icc

to icc:
   已经有人把log4j用Delphi重新实现了,叫log4delphi,
你可以在log4delphi.sf.net上下载

页: [1]
查看完整版本: 关于日志组件


Powered by Discuz! Archiver 5.0.0  © 2001-2006 Comsenz Inc.