CnPack Forum


 
Subject: 关于日志组件
icc
新警察
Rank: 1



UID 1244
Digest Posts 0
Credits 1
Posts 1
点点分 1
Reading Access 10
Registered 2005-11-7
Status Offline
Post at 2005-11-7 10:23  Profile | Blog | P.M. 
关于日志组件

按我的设想,日志组件对我们非常有用,可以:
帮助我们调试程序,查找错误,作为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
更多资料可从网上找到

[ Last edited by icc on 2005-11-7 at 10:27 ]
Top
Passion (LiuXiao)
管理员
Rank: 9Rank: 9Rank: 9


UID 359
Digest Posts 19
Credits 6760
Posts 3556
点点分 6760
Reading Access 102
Registered 2004-3-28
Status Offline
Post at 2005-11-7 12:03  Profile | Blog | P.M. 
我们已经在CnPack中实现了一CnDebug.pas,用来输出调试信息。此信息可用CnDebugViewer来读取并查看。不过不是Component的形式,目前也没有实现自动保存的功能。^_^
您可以从CVS上获取最新的源码来阅读。
Top
wyb_star
新警察
Rank: 1


UID 11
Digest Posts 0
Credits 12
Posts 9
点点分 12
Reading Access 10
Registered 2003-1-17
Status Offline
Post at 2005-11-11 12:57  Profile | Blog | P.M. 
to icc

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




All times are GMT++8, the time now is 2024-4-30 11:23

    本论坛支付平台由支付宝提供
携手打造安全诚信的交易社区 Powered by Discuz! 5.0.0  © 2001-2006 Comsenz Inc.
Processed in 0.007039 second(s), 7 queries , Gzip enabled

Clear Cookies - Contact Us - CnPack Website - Archiver - WAP