---
name: "MooX::Log::Any"
section: "3pm"
platform: "linux"
package: "libmoox-log-any-perl"
version: "0.004004-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/MooX::Log::Any"
---

# MooX::Log::Any(3pm)

Role to add Log::Any

## NAME

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

## VERSION

version 0.004004

## 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"
```

## 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"
    }
```

## 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.
