[Catalyst] Trapping added errors with the correct caller
Bill Moseley
moseley at hank.org
Thu Oct 11 13:16:54 GMT 2012
On Thu, Oct 11, 2012 at 5:38 AM, Robert Rothenberg <robrwo at gmail.com> wrote:
>
> I would like to trap every error added to $c->error() and log it, noting
> the
> caller (filename, line number) in the logs.
>
> I've not gotten Catalyst::Plugin::ErrorCatcher to work, so I wrote my own
> plugin that overrides $c->error with the following method:
>
> use MRO::Compat;
> use namespace::autoclean;
>
> sub error {
> my ($c, @args) =3D @_;
>
> foreach my $arg (@args) {
> if ($arg) {
>
> $c->log->error($arg);
> }
> }
>
Isn't that what finalize already does?
I have a very old and out-dated plugin I use that wraps execute() and sets
__DIE__ and __WARN__ to catch those and uses Devel::StackTrace to add in a
stack trace. Then I use log4perl to format and direct the messages.
I also use Moose's Throwable which includes a stack trace.
-- =
Bill Moseley
moseley at hank.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.scsys.co.uk/pipermail/catalyst/attachments/20121011/9e59a=
c47/attachment.htm
More information about the Catalyst
mailing list