在perl Log :: Report堆栈跟踪中显示人类可读的文本

时间:2014-07-12 05:29:06

标签: perl logging tracing

我正在使用XML::Compile::Translate::Reader的库调用Log :: Report的错误方法

      or error __x"data for element or block starting with `{tag}' missing at {path}"
           , tag => $label, path => $path, _class => 'misfit';

当我将Log :: Report设置为调试模式时,它会返回错误的堆栈跟踪。

[11 07 2014 22:17:39] [2804] error: data for element or block starting with `MSISDN' missing at {http://www.sigvalue.com/acc}TA
 at /usr/local/share/perl5/XML/Compile/Translate/Reader.pm line 476
Log::Report::error("Log::Report::Message=HASH(0x2871cf8)") at /usr/local/share/perl5/XML/Compile/Translate/Reader.pm line 476
<snip>
XML::Compile::SOAP::Daemon::LWPutil::lwp_run_request("HTTP::Request=HASH(0x2882858)", "CODE(0x231ba38)", "HTTP::Daemon::ClientConn::SSL=GLOB(0x231b9c0)", undef) at /usr/local/share/perl5/XML/Compile/SOAP/Daemon/LWPutil.pm line 95
Any::Daemon::run("XML::Compile::SOAP::Daemon::AnyDaemon=HASH(0x7a3168)", "child_task", "CODE(0x2548128)", "max_childs", 36, "background", 1) at /usr/local/share/perl5/XML/Compile/SOAP/Daemon/AnyDaemon.pm line 75
XML::Compile::SOAP::Daemon::AnyDaemon::_run("XML::Compile::SOAP::Daemon::AnyDaemon=HASH(0x7a3168)", "HASH(0x18dda00)") at /usr/local/share/perl5/XML/Compile/SOAP/Daemon.pm line 99
(eval)("XML::Compile::SOAP::Daemon::AnyDaemon=HASH(0x7a3168)", "HASH(0x18dda00)") at /usr/local/share/perl5/XML/Compile/SOAP/Daemon.pm line 94
XML::Compile::SOAP::Daemon::run("XML::Compile::SOAP::Daemon::AnyDaemon=HASH(0x7a3168)", "name", "rizserver.pl", "background", 1, "max_childs", 36, "socket", [7 more]) at ./rizserver.pl line 95

我想要记录的HASH,SCALAR,GLOB和其他元素中有很多有用的数据;因为我们无法记录原始请求,以防它不匹配。 我已经探索过使用

我不知道如何使用的一些主要内容是使用Log::Dispatch,或者某种过滤日志::报告;但最后,我真正想要的是将Data :: Dumper应用于这些元素。

0 个答案:

没有答案
相关问题