| Catalyst-Plugin-LogWarnings documentation | Contained in the Catalyst-Plugin-LogWarnings distribution. |
Catalyst::Plugin::LogWarnings - Log perl warnings to your Catalyst log object
Version 0.03
In MyApp.pm:
use Catalyst qw/LogWarnings/;
After that, any warn statement that's executed during action
processing is sent to the log $c-log> as a warning (instead of
being dumped to STDERR).
Example:
package MyApp::Controller::Foo;
sub foo : Local() { warn 'foobar!'; }
1;
Output (if you're using the standard Catalyst::Log logger):
[info] MyApp running on Catalyst 5.7001
[warn] foobar at Foo.pm line 2
None.
Wraps Catalyst::execute and catches warnings with a
$SIG{__WARN__} statement.
Jonathan Rockway, <jrockway at cpan.org>
Warnings are caught after perl's rewritten them, so the line number and filename will be tacked on.
Please report any bugs or feature requests to
bug-catalyst-plugin-logwarnings at rt.cpan.org, or through the web interface at
http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Catalyst-Plugin-LogWarnings.
I will be notified, and then you'll automatically be notified of progress on
your bug as I make changes.
You can find documentation for this module with the perldoc command.
perldoc Catalyst::Plugin::LogWarnings
You can also look for information at:
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Catalyst-Plugin-LogWarnings
#catalyst (irc://irc.perl.org/#catalyst).
Copyright 2006 Jonathan Rockway, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
| Catalyst-Plugin-LogWarnings documentation | Contained in the Catalyst-Plugin-LogWarnings distribution. |
package Catalyst::Plugin::LogWarnings; use warnings; use strict; use MRO::Compat;
our $VERSION = '0.03';
sub execute { my $c = shift; if(eval{$c->log->can('warn')}){ return do { local $SIG{__WARN__} = sub { my $warning = shift; chomp $warning; $c->log->warn($warning); }; $c->next::method(@_); }; } else { # warn "Can't log warnings"; # if we can't log warnings, don't catch them return $c->next::method(@_); } }
1; # End of Catalyst::Plugin::LogWarnings