在我的舞台服务器中,我想激活调试,以便客户端可以在应用程序进入生产服务器之前为自己找到错误。

但我只希望消息的第一部分,而不是请求或 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/

10-10 04:01