NAME

MooX::Log::Any - Role to add Log::Any

VERSION

version 0.003

SYNOPSIS

package MyApp;
use Moo;

with 'MooX::Log::Any';

sub something {
    my ($self) = @_;
    $self->log->debug("started bar");    ### logs with default class catergory "MyApp"
    $self->log->error("started bar");    ### logs with default class catergory "MyApp"
}

DESCRIPTION

A logging role building a very lightweight wrapper to Log::Any for use with your Moo or Moose classes. Connecting a Log::Any::Adapter should be performed prior to logging the first log message, otherwise nothing will happen, just like with Log::Any

Using the logger within a class is as simple as consuming a role:

package MyClass;
use Moo;
with 'MooX::Log::Any';

sub dummy {
    my $self = shift;
    $self->log->info("Dummy log entry");
}

The logger needs to be setup before using the logger, which could happen in the main application:

package main;
use Log::Any::Adapter;
# Send all logs to Log::Log4perl
Log::Any::Adapter->set('Log4perl')

use MyClass;
my $myclass = MyClass->new();
$myclass->log->info("In my class"); # Access the log of the object
$myclass->dummy;                    # Will log "Dummy log entry"

ACCESSORS

log

The log attribute holds the Log::Any::Adapter object that implements all logging methods for the defined log levels, such as debug or error. As this method is defined also in other logging roles/systems like MooseX::Log::LogDispatch this can be thought of as a common logging interface.

package MyApp::View::JSON;

extends 'MyApp::View';
with 'MooseX:Log::Log4perl';

sub bar {
  $self->logger->info("Everything fine so far");    # logs a info message
  $self->logger->debug("Something is fishy here");  # logs a debug message
}

logger([$category])

This is an alias for log.

SEE ALSO

Log::Any, Moose, Moo

Inspired by

Inspired by the work by Chris Prather <perigrin@cpan.org> and Ash Berlin <ash@cpan.org> on MooseX::LogDispatch and Roland Lammel <lammel@cpan.org>

BUGS AND LIMITATIONS

Please report any bugs or feature requests through github https://github.com/cazador481/MooX-Log-Any.

CONTRIBUTORS

In alphabetical order:

Jens Rehsack rehsack@gmail.com>

AUTHOR

Edward Ash <eddie+cpan@ashfamily.net>

COPYRIGHT AND LICENSE

This software is copyright (c) 2013 by Edward Ash.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.