【发布时间】:2013-10-18 12:50:33
【问题描述】:
目前,我正在测试用于 Delphi XE 3 的各种日志框架。由于使用 Log4Delphi 在现有程序中的实现问题最少,我目前正在尝试为我的日志消息获取更多信息。现在我想要的是附加信息,如方法名称和代码行。我已经发现绝地代码库的调试功能可能会提供此类数据。可悲的是,我无法弄清楚如何让它按照我想要的方式工作。
因为我目前正在使用这个功能:
function CurrentFunctionName: string;
begin
Result := jcldebug.getlocationInfoStr(Caller(1));
end;
但是,虽然我发现的代码示例提供了这样的数据:
[004223A7] jcldebugtest.SomeProcedure (Line 10, "jcldebugtest.dpr")
当我尝试在我的程序中使用它时获得的所有数据如下所示:
(00E8EF63) [0128FF63]
我不完全理解这种行为的原因,所以如果有人能向我解释如何正确地做到这一点以及我的错误/误解在哪里,那就太好了。
【问题讨论】:
-
GetLocationInfoStr 的帮助页面:wiki.delphi-jedi.org/wiki/JCL_Help:GetLocationInfoStr 状态:
If location info was found, the function returns the formatted info string, otherwise it returns a string formatted as [Address].这意味着它没有找到任何位置信息。 -
看起来您要么没有在项目中启用调试信息,要么将其存储在
jcldebug找不到的位置。
标签: delphi logging delphi-xe3