/usr/share/perl5/Plack/Middleware/LogWarn.pm is in libplack-middleware-logwarn-perl 0.001002-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | package Plack::Middleware::LogWarn;
BEGIN {
$Plack::Middleware::LogWarn::VERSION = '0.001002';
}
# ABSTRACT: converts to warns to log messages
use strict;
use warnings;
use parent qw( Plack::Middleware );
use Plack::Util::Accessor qw( logger );
sub call {
my($self, $env) = @_;
local $SIG{__WARN__} = $self->logger || sub {
$env->{'psgix.logger'}->({
level => 'warn',
message => join '', @_
});
};
my $res = $self->app->($env);
return $res;
}
1;
=pod
=head1 NAME
Plack::Middleware::LogWarn - converts to warns to log messages
=head1 VERSION
version 0.001002
=head1 SYNOPSIS
builder {
enable 'LogWarn';
$app;
}
# use it with another logger middleware
builder {
enable 'LogWarn';
enable 'Log4perl', category => 'plack', conf => '/path/to/log4perl.conf';
$app;
}
=head1 DESCRIPTION
LogWarn is a C<Plack::Middleware> component that will help you get warnings into
a logger. You probably want to use some sort of real logging system such as
L<Log::Log4perl> and another C<Plack::Middleware> such as L<Plack::Middleware::Log4perl>.
=head1 CONFIGURATION
=over 4
=item logger
optional, C<coderef> that will capture warnings. By default it uses
C<< $env->{'psgix.logger'} >> with a level of C<warn>.
=back
=head1 SEE ALSO
L<Plack::Middleware::Log4perl>
=head1 CREDITS
Thanks to Micro Technology Services, Inc. for funding the initial development
of this module and frew (Arthur Axel "fREW" Schmidt <frioux@gmail.com>) for his
extensive patience and assistance.
=cut
=head1 AUTHOR
Geoffrey Darling <geoffreydarling@gmail.com>
=head1 COPYRIGHT AND LICENSE
This software is copyright (c) 2011 by Geoffrey Darling.
This is free software; you can redistribute it and/or modify it under
the same terms as the Perl 5 programming language system itself.
=cut
__END__
|