NAME
MojoX::Log::Any - Use the current Log::Any adapter from Mojolicious
SYNOPSIS
use Mojolicious::Lite;
# Use Mojo::Log by default when importing
use MojoX::Log::Any;
# Or you can specify a different default adapter
use MojoX::Log::Any default_adapter => 'Stderr';
get '/' => sub {
my $c = shift;
app->log->debug('Using Log::Any::Adapter::MojoLog');
# They can be redefined
use Log::Any::Adapter;
Log::Any::Adapter->set('Stderr');
app->log->warning('Using Log::Any::Adapter::Stderr')
if app->log->is_warning;
# Or use whatever adapter you've set
use Log::Log4perl qw(:easy);
Log::Log4perl->easy_init($ERROR);
Log::Any::Adapter->set('Log4perl');
app->log->fatalf('Formatting with %s', 'Log::Any::Adapter::Log4perl');
$c->render(text => 'OK!');
};
app->start;
DESCRIPTION
MojoX::Log::Any makes it easy to use a Log::Any::Adapter from within Mojolicious without getting in the way of the user.
When imported from within a Mojolicious application (of from within a package into which Mojolicious' app function has been exported), it sets that application's log attribute to a Log::Any::Proxy connected to whatever adapter is currently available.
When imported, the logger defaults to using Log::Any::Adapter::MojoLog, which seems to be the currently maintained adapter for Mojo::Log. Any parameters passed to the module's import
function are passed as is to the get_logger
function from Log::Any, to allow for user customisation and to maintain a coherent interface with that package.
MOTIVATION
There are numerous packages in the "MojoX::Log" namespace providing an interface with the various different logging mechanisms on CPAN; except Log::Any.
There is also a Log::Any adapter for Mojo::Log, which makes it possible to use that logger from any application using Log::Any; but not Mojolicious apps.
This package attempts to fill that void by offering Mojolicious applications an easy way to plug into the current Log::Any::Adapter (whatever it may be).
SEE ALSO
AUTHOR
José Joaquín Atria <jjatria@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2016 by José Joaquín Atria.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.