log4d vs log4delphi

时间:2012-12-06 16:06:22

标签: delphi logging delphi-2009

有谁知道log4d与log4delphi有什么区别?你能推荐一个你用过的并且满意吗?或声称他们是一样的?或者您使用其他可以推荐的“记录器”吗?

log4delphi网站中指出:

  

Log4D最后更新了他们的CVS 16个月前,该项目已经没有了   从那时起最近的活动。他们也没有文件发布   意味着新用户必须从CVS存储库获取源代码   这不好。

     

Log4D也是Log4J的直接端口,而Log4Delphi基础松散   在Log4J上这意味着Log4Delphi不必遵循什么   Log4J正在做,我们可以随时偏离log4j,这是一个不错的选择   考虑到Java和Delphi之间存在很多差异,这一点。

更新: 在使用te delphi4d之后,可以通过这种方式导出到html:

uses log4d;
var
  appender:TLogFileAppender;
  logger:TLoglogger;
begin
  appender := TLogRollingFileAppender.Create('name','log.html');
  appender.Layout := TLogHTMLLayout.Create;
  TLogBasicConfigurator.Configure(appender);    
  TLogLogger.GetRootLogger.Level := All;
  Logger := TLogLogger.GetLogger('loggerName');
    Logger.Fatal('fatal output');
    Logger.Error('error output');
    Logger.Warn('warn output');
    Logger.Info('info output');
    Logger.Debug('starting debug');
end;

update2:log4delphi是针对delphi 6或delphi 7发布的。意味着需要额外的工作才能升级到以后的delphi。

更新3: log4d与log4j相同,拾取和使用速度非常快。

2 个答案:

答案 0 :(得分:9)

要根据您的要求添加其他"记录器",我建议使用Open Source logging classes

它有一个" KISS"设计,从Log4J和所有Log4 *改编非常多样化。想法是开发快速,稳定,强大的东西,致力于Delphi的商业应用。例如,它不会创建XML文件,而是创建纯文本文件。

它具有日志记录功能(具有一组级别,而不是级别的层次结构),可以序列化内容,使用堆栈跟踪进行异常拦截(以及带行号的单元/方法名称!),方法执行时间,日志压缩和自动-archival。

log viewer可用且速度非常快,并允许从任何日志文件进行方法分析。

我们将它用于大型程序的生产,从Delphi 5到XE3,具有很多好处。只记录异常,执行时间会改变一切。

它是我们的 mORMot 框架的一部分,但可以在没有它的情况下使用。只是链接的一些单位,这就是全部。

它是免费的,并且是维护的,而你的Log4D *项目听起来还没有激活。

答案 1 :(得分:2)

正如您所引用的常见问题解答中所述,它们并不相同。

您可以通过下载并比较文件轻松确认。

虽然Log4D上次下载(log4d-src 0.9 2007-06-12)38.2 Kb只包含4个pas文件,Log4Delphi上次下载(log4delphi 0.8 Melloware 2010-11-16)1.7 Mb包含27个pas文件只是在src / delphi文件夹,以及包含单元测试和包的其他文件夹。

同时比较两个项目包含的dtd显示xml格式不同且不兼容。

这两个项目看起来都过时了。 Log4Delphi包含D6和D7的软件包。

如果一个人在另一个人的基础上,我不知道。 Log4Delphi看起来更复杂,甚至0.1版本都有一个非常不同的文件集。