NAME

Log::Log4perl::Appender::CloudWatch - Appender to send logs to CloudWatch

SYNOPSIS

use Log::Log4perl;

my $log4perl_conf =<<'END_OF_TEXT';
log4perl.rootLogger=DEBUG, CLOUDWATCH
log4perl.appender.CLOUDWATCH=Log::Log4perl::Appender::CloudWatch
log4perl.appender.CLOUDWATCH.group=/test-log-group
log4perl.appender.CLOUDWATCH.stream=stream-prefix
log4perl.appender.CLOUDWATCH.buffer_size=1
log4perl.appender.CLOUDWATCH.layout=PatternLayout
log4perl.appender.CLOUDWATCH.layout.ConversionPattern=%d [%r] %F %L %c - %m
END_OF_TEXT

Log::Log4perl::init(\$log4perl_conf);

my $logger = Log::Log4perl->get_logger('');

DESCRIPTION

Appender to send logs to AWS CloudWatch. Events are buffered and sent when the buffer is full or when the appender is destroyed.

DEPENDENCIES

Amazon::API
Amazon::Credentials
Data::UUID
Digest::MD5

...and possibly others

CONFIGURATION

The appender supports several configuration attributes for logging to CloudWatch described below.

Example Log::Log4perl configuration:

############################################################
# A simple root logger with a Log::Log4perl::Appender::CloudWatch 
############################################################
log4perl.rootLogger=DEBUG, CLOUDWATCH

log4perl.appender.CLOUDWATCH=Log::Log4perl::Appender::CloudWatch
log4perl.appender.CLOUDWATCH.group=/test-log-group
log4perl.appender.CLOUDWATCH.stream=foobar

log4perl.appender.CLOUDWATCH.layout=PatternLayout
log4perl.appender.CLOUDWATCH.layout.ConversionPattern=%d [%r] %F %L %c - %m

Options

CAVEATS

The appender internally uses a null logger to prevent re-entrant logging calls. Any debugging of the CloudWatch API calls made internally by the appender should be done outside the context of this appender - for example, in a standalone test script that invokes Amazon::API::CloudWatchLogs directly rather than through Log::Log4perl configuration.

SEE ALSO

Amazon::API::CloudWatchLogs, Amazon::Credentials, Amazon::API

AUTHOR

Rob Lauer - rlauer6@comcast.net

LICENSE

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