Log::Dispatch::Message::Passing(3pm) | User Contributed Perl Documentation | Log::Dispatch::Message::Passing(3pm) |
Log::Dispatch::Message::Passing - log events to Message::Passing
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"}'
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.
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.
This is the method which performs the actual logging, as detailed by Log::Dispatch::Output.
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.
Tomas Doran (t0m) "<bobtfish@bobtfish.net>"
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 Suretec Systems Ltd. 2012.
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.
2022-06-30 | perl v5.34.0 |