5

我正在使用德尔福 7。

我需要将发生的任何异常的完整信息记录到文件中。

通常我使用 Eurekalog。这个出色的产品显示了一个包含所有堆栈跟踪信息和许多其他用于调试目的的对话框。

我需要访问 Eureka 日志给我的这些信息(实际上我只需要堆栈跟踪),因为我需要将它们发送到 syslog 守护进程中。有没有办法以编程方式访问 Eureka 日志中的信息?

我可以使用裸露的 delphi 7 或Eurekalog 6.1

4

2 回答 2

9

处理OnExceptionNotify事件。在您的事件处理程序中,对属性执行任何您想要的操作AExceptionInfo.CallStack,例如将其保存到磁盘或将其发送到其他进程。请注意,默认情况下,EurekaLog 已经将错误报告保存到磁盘,因此,如果您只想这样做,则不需要任何特殊代码。

用于RegisterEventExceptionNotify注册您的事件处理程序,或使用TEurekaLogV7组件。有关处理 EurekaLog 事件的详细信息和一般信息,请参阅EEvents 单元的文档

OnExceptionNotify发生未处理的异常。如果您想收到任何异常的通知,包括最终在您的程序中处理的异常,那么您应该使用该OnRaise事件。

于 2012-08-13T17:21:51.060 回答
2

大多数人只是简单地使用 JCL Debug。

关于 TSynlog 的讨论 http://blog.synopse.info/post/2011/04/14/Enhanced-logging-in-SynCommons

或 Hallvard Vassbotn http://hallvards.blogspot.co.at/2008/03/tdm9-exceptional-stack-tracing-hvest.html

于 2012-08-13T17:16:48.080 回答