---
name: "Log::Dispatch::Message::Passing"
section: "3pm"
platform: "linux"
package: "liblog-dispatch-message-passing-perl"
version: "0.009-6"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Dispatch::Message::Passing"
---

# Log::Dispatch::Message::Passing(3pm)

log events to Message::Passing

## NAME

Log::Dispatch::Message::Passing - log events to Message::Passing

## SYNOPSIS

In your application code:

```
  use Log::Dispatch;
  use Log::Dispatch::Message::Passing;
  use Message::Passing::Filter::Encoder::JSON;
  use Message::Passing::Output::ZeroMQ;
  my $log = Log::Dispatch->new;
  $log->add(Log::Dispatch::Message::Passing->new(
        name      => 'myapp_aggregate_log',
        min_level => 'debug',
        output    => Message::Passing::Filter::Encoder::JSON->new(
            output_to => Message::Passing::Output::ZeroMQ->new(
                connect => 'tcp://192.168.0.1:5558',
            ),
        ),
  ));
  $log->warn($_) for qw/ foo bar baz /;
```

On your central log server:

```
  message-pass --input ZeroMQ --input_options '{"socket_bind":"tcp://*:5558"}' \
    --output File --output_options '{"filename":"myapp_aggregate.log"}'
```

## DESCRIPTION

This provides a Log::Dispatch log output system that sends logged events to Message::Passing.

This allows you to use any of the Message::Passing outputs or filters to process log events and send them across the network, and you can use the toolkit to trivially construct a log aggregator.

## METHODS

### "new"

```
 my $table_log = Log::Dispatch::Message::Passing->new(\%arg);
```

This method constructs a new Log::Dispatch::Message::Passing output object.

Required arguments are:

```
  output - a L<Message::Passing> L<Output|Message::Passing::Role::Output> class.
```

### log\_message

This is the method which performs the actual logging, as detailed by Log::Dispatch::Output.

## SEE ALSO

- Message::Passing

  The logging framework itself, allowing you to very simply build log aggregation and processing servers.

- Message::Passing::Output::ZeroMQ

  The recommended network protocol for aggregating or transporting messages across the network.

  Note that whilst this transport is recommended, it is **NOT** required by this module, so you need to require (and depend on) Message::Passing::ZeroMQ separately.

- example/ directory

  Instantly runnable SYNOPSIS - plug into your application for easy log aggregation.

## AUTHOR

Tomas Doran (t0m) `"<bobtfish@bobtfish.net>"`

## SPONSORSHIP

This module exists due to the wonderful people at Suretec Systems Ltd. \<http://www.suretecsystems.com/\> who sponsored it's development for its VoIP division called SureVoIP \<http://www.surevoip.co.uk/\> for use with the SureVoIP API -  \<http://www.surevoip.co.uk/support/wiki/api\_documentation\>

## COPYRIGHT

Copyright Suretec Systems Ltd. 2012.

## LICENSE

GNU Affero General Public License, Version 3

If you feel this is too restrictive to be able to use this software, please talk to us as we'd be willing to consider re-licensing under less restrictive terms.
