在我測試使用的各種日誌框架在Delphi XE 3.由於使用Log4Delphi提出關於落實到現有項目至少問題的那一刻,我正在試圖獲得更多的信息我的日誌消息。現在我想要的是附加信息,如方法名稱和代碼行。我已經發現Jedi Code Librarys的調試功能可能會提供這樣的數據。可悲的是,我無法弄清楚這個問題是否能夠按照我想要的方式工作。結合Log4Delphi和JCL調試
由於這是我目前使用此功能:
function CurrentFunctionName: string;
begin
Result := jcldebug.getlocationInfoStr(Caller(1));
end;
但是,當我發現的代碼示例提供的數據是這樣的:
[004223A7] jcldebugtest.SomeProcedure (Line 10, "jcldebugtest.dpr")
所有的數據我是說我」 m試圖在我的程序中使用它看起來像這樣:
(00E8EF63) [0128FF63]
我不完全理解這種行爲的原因,所以它如果有人能向我解釋如何正確地做到這一點,以及我的錯誤/誤解所在的位置,那將是非常好的。
GetLocationInfoStr的幫助頁面:http://wiki.delphi-jedi.org/wiki/JCL_Help:GetLocationInfoStr指出:'如果找到位置信息,則函數返回格式化的信息字符串,否則返回格式爲[地址] .'這意味着它沒有找到任何位置信息。 – Johan
它看起來你或者沒有在你的項目中啓用調試信息,或者它存儲在'jcldebug'找不到它的位置。 – Johan