在我的舞台服务器中,我想激活调试,以便客户端可以在应用程序进入生产服务器之前为自己找到错误。
但我只希望消息的第一部分,而不是请求或 session 数据。
例如:无法呈现模板“templates/home.tt2:文件错误-templates/inc/heater:未找到”。
该消息足以让我和我的客户看到“ header ”调用的拼写错误。
该请求具有许多与客户无关的信息,但是也有很多内部开发信息,这些信息应该一直隐藏!
问候
最佳答案
您想要覆盖Catalyst的 dump_these
方法。这将返回要显示在Catalyst的错误调试页面上的内容的列表。
默认实现如下所示:
sub dump_these {
my $c = shift;
[ Request => $c->req ],
[ Response => $c->res ],
[ Stash => $c->stash ],
[ Config => $c->config ];
}
但您可以使其更具限制性,例如
sub dump_these {
my $c = shift;
return [ Apology => "We're sorry that you encountered a problem" ],
[ Response => substr($c->res->body, 0, 512) ];
}
您将在应用程序的主模块(
dump_these
所在的模块)中定义use Catalyst
。关于perl - Catalyst中的调试屏幕不太详细?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19033676/