I'm trying to use Log4perl to send email alerts. Gone over the log4perl docs extensively.
I'm using Mail::Sender rather than Mail::Send -- I'm not sure why, but Mail::Send doesn't work for me so I'm trying Mail::Sender.
Log::Dispatch::Email::MailSender appears to be installed ok:
Ok so I run my example:[414][/cygdrive/r/micmac]$ cpan install Log::Dispatch::Email::MailSend +er CPAN: Storable loaded ok (v2.27) Going to read '/home/micmac/.cpan/Metadata' Database was generated on Thu, 26 Jun 2014 20:41:02 GMT CPAN: Module::CoreList loaded ok (v2.49_02) Log::Dispatch::Email::MailSender is up to date (2.41).
Right it's not there, so why did cpan say it was ok?[415][/cygdrive/r/micmac]$ ./lw_ex1.pl ERROR: can't load appenderclass 'Log::Dispatch::Email::MailSender' Can't locate Mail/Sender.pm in @INC (@INC contains: /usr/lib/perl5/sit +e_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.14 / +usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int /usr/lib/per +l5/vendor_perl/5.14 /usr/lib/perl5/5.14/i686-cygwin-threads-64int /us +r/lib/perl5/5.14 /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_ +perl/5.10 /usr/lib/perl5/site_perl/5.8 .) at /usr/lib/perl5/site_perl +/5.14/Log/Dispatch/Email/MailSender.pm line 18. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.14/Log +/Dispatch/Email/MailSender.pm line 18. Compilation failed in require at (eval 24) line 2.
My log4perl.conf mailer section:[417][/cygdrive/r/davem]$ perl -MLog::Dispatch::Email::MailSender -e 1 Can't locate Mail/Sender.pm in @INC (@INC contains: /usr/lib/perl5/sit +e_perl/5.14/i686-cygwin-threads-64int /usr/lib/perl5/site_perl/5.14 / +usr/lib/perl5/vendor_perl/5.14/i686-cygwin-threads-64int /usr/lib/per +l5/vendor_perl/5.14 /usr/lib/perl5/5.14/i686-cygwin-threads-64int /us +r/lib/perl5/5.14 /usr/lib/perl5/site_perl/5.10 /usr/lib/perl5/vendor_ +perl/5.10 /usr/lib/perl5/site_perl/5.8 .) at /usr/lib/perl5/site_perl +/5.14/Log/Dispatch/Email/MailSender.pm line 18. BEGIN failed--compilation aborted at /usr/lib/perl5/site_perl/5.14/Log +/Dispatch/Email/MailSender.pm line 18. Compilation failed in require. BEGIN failed--compilation aborted.
#Mailer log4perl.appender.Mailer=Log::Dispatch::Email::MailSender log4perl.appender.Mailer.from=${Mailer_To} log4perl.appender.Mailer.to=${Mailer_To} log4perl.appender.Mailer.smtp=exchange.mycompany.com log4perl.appender.Mailer.subject=${MailerSubject} log4perl.appender.Mailer.layout=Log::Log4perl::Layout::PatternLayout log4perl.appender.Mailer.layout.ConversionPattern=%d - [CAT:%c %F HOS +T:%H] %p > %m%n log4perl.appender.Mailer.Threshold=WARN log4perl.appender.Mailer.buffered=${Buffered} log4perl.appender.Mailer.Filter=MailFilter
If I switch back to Mail::Send I get this:
422/cygdrive/r/micmac$ ./lw_ex1.pl Cannot close handle to mail program at /usr/lib/perl5/site_perl/5.14/Log/Dispatch/Email/MailSend.pm line 35.
lw_ex1.pl is just a simple script to run it:
Any help most appreciated.#!/usr/bin/perl use strict; use Log::Log4perl qw(get_logger :levels :no_extra_logdie_message); Log::Log4perl::init("log4perl.conf); my $logger = get_logger("example"); $logger->info("START " . basename($0)); $logger->info("la ti da");
In reply to Log4perl Email appender problem by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |