默认情况下,当请求未知资源(根据我的理解,本质上是 404 错误)时, Catalyst::Dispatch会发出错误:
将调度委托给与 url 匹配的操作,或返回有关未知资源的消息
我的应用程序的日志文件显示:
Mar 30 10:19:08 mail myapp: Unknown resource "user/soapCaller.bs"
Mar 30 16:20:38 mail myapp: Unknown resource "HTTP/1.1"
Mar 30 16:20:38 mail myapp: Unknown resource "index.php"
可以说,这对我来说似乎是一个错误。一个简单的 404 不应该被视为与“无法连接到数据库”错误相提并论,但这不是重点。我的问题是:
我怎样才能改变这种行为?
我在 Root.pm 中创建一个简单的default()操作的成功有限:
sub default : Private {
my ( $self, $c ) = @_;
}
这成功地消除了日志文件的错误,但是,我没有成功编写自己的日志消息/优先级。以下尝试输出我自己的警告均未成功。
sub default : Private {
my ( $self, $c ) = @_;
warn "Foo\n";
$c->log->debug('Bar');
$c->log->warn('Baz');
}
那么,在 Catalyst 应用程序中为“未知资源”定义自己的行为的最佳方法是什么?