Log::Handler::Output::Sendmail.3pm

Langue: en

Version: 2010-01-29 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Log::Handler::Output::Sendmail - Log messages with sendmail.

SYNOPSIS

     use Log::Handler::Output::Sendmail;
 
     my $email = Log::Handler::Output::Sendmail->new(
         from    => 'bar@foo.example',
         to      => 'foo@bar.example',
         subject => 'your subject',
     );
 
     $email->log(message => $message);
 
 

DESCRIPTION

With this output module it's possible to log messages via "sendmail".

METHODS

new()

Call "new()" to create a new Log::Handler::Output::Sendmail object.

The following options are possible:

from
The sender address (From).
to
The receipient address (To).
cc
Carbon Copy (Cc).
bcc
Blind Carbon Copy (Bcc)
subject
The subject of the mail.
sender
This option is identical with "sendmail -f".
header
With this options it's possible to set your own header.
     my $email = Log::Handler::Output::Sendmail->new(
         from   => 'bar@foo.example',
         to     => 'foo@bar.example',
         header => 'Content-Type: text/plain; charset= UTF-8',
     );
 
 

Or

     my $email = Log::Handler::Output::Sendmail->new(
         header => {
             From    => 'bar@foo.example',
             To      => 'foo@bar.example',
             Subject => 'my subject',
             'Content-Type' => text/plain; charset= UTF-8',
         }
     );
 
 

Or

     my $email = Log::Handler::Output::Sendmail->new(
         header => [
             'From: bar@foo.example',
             'To: foo@bar.example',
             'Subject: my subject',
             'Content-Type: text/plain; charset= UTF-8',
         ]
     );
 
 
sendmail
The default is set to "/usr/sbin/sendmail".
params
Parameters for "sendmail".

The default is set to "-t".

maxsize
Set the maximum size of the buffer in bytes.

All messages will be buffered and if "maxsize" is exceeded the buffer is flushed and the messages will be send as email.

The default is set to 1048576 bytes.

Set 0 if you want no buffering and send a mail for each log message.

debug
Set 1 if you want to enable debugging.

The messages can be fetched with $SIG{__WARN__}.

log()

Call "log()" if you want to log a message as email.
     $email->log(message => "this message will be mailed");
 
 

If you pass the level then its placed into the subject:

     $email->log(message => "foo", level => "INFO");
     $email->log(message => "bar", level => "ERROR");
     $email->log(message => "baz", level => "DEBUG");
 
 

The lowest level is used:

     Subject: ERROR ...
 
 

You can pass the level with "Log::Handler" by setting

     message_pattern => '%L'
 
 

flush()

Call "flush()" if you want to flush the buffered messages.

validate()

Validate a configuration.

reload()

Reload with a new configuration.

errstr()

This function returns the last error message.

DESTROY

"DESTROY" is defined and called "flush()".

PREREQUISITES

     Carp
     Params::Validate
 
 

EXPORTS

No exports.

REPORT BUGS

Please report all bugs to <jschulz.cpan(at)bloonix.de>.

If you send me a mail then add Log::Handler into the subject.

AUTHOR

Jonny Schulz <jschulz.cpan(at)bloonix.de>. Copyright (C) 2007-2009 by Jonny Schulz. All rights reserved.

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