7

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

log4delphi的网站上它指出:

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

Log4D 也是 Log4J 的直接移植,而 Log4Delphi 松散地基于 Log4J,这意味着 Log4Delphi 不必遵循 Log4J 正在做什么,我们可以随时偏离 log4j,这是一件好事,考虑到 Java 之间的众多差异和德尔福。

更新:使用 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 相同,并且拾取和使用非常快。

4

2 回答 2

9

要按照您的要求添加另一个“记录器”,我推荐我们的开源日志记录类

它具有“KISS”设计,与 Log4J 和所有 Log4* 改编版本非常不同。想法是开发一些快速、稳定、强大且专用于 Delphi 的商业应用程序。例如,它不创建 XML 文件,而是创建纯文本文件。

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

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

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

它是我们mORMot框架的一部分,但可以在没有它的情况下使用。只是一些要链接的单元,仅此而已。

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

于 2012-12-06T17:13:04.910 回答
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 仅在 src/delphi 文件夹中包含 27 个 pas 文件,加上其他带有单元测试和包的文件夹。

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

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

如果一个基于另一个,我不知道。Log4Delphi 看起来更复杂,即使是 0.1 版本也有非常不同的文件集。

于 2012-12-06T16:34:19.320 回答