Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Re^3: Change email config for Log::Dispatch::Email::MailSender ( log4perl email dynamic subject)

by Anonymous Monk
on May 06, 2015 at 07:52 UTC ( #1125804=note: print w/replies, xml ) Need Help??


in reply to Re^2: Change email config for Log::Dispatch::Email::MailSender
in thread Change email config for Log::Dispatch::Email::MailSender

Have you tried reading the Log::Log4perl documentation? The qw operator is documented in perlop: qw. Importing from modules is documented in perlfunc: use.

Hi afoken, I am not the OP, I was trying to engage the OP and inspire a lightbulb moment ... works better when the OP is around :)

Anyway, changing configuration at runtime is not how you're supposed to work it :)

use Log::Log4perl qw/ get_logger /; ... get_logger("Winmail")->info("yay!"); ... get_logger("Failmail")->info("boo!"); ... get_logger("Bobmail")->info("get to work!");
  • Comment on Re^3: Change email config for Log::Dispatch::Email::MailSender ( log4perl email dynamic subject)
  • Download Code

Replies are listed 'Best First'.
Re^4: Change email config for Log::Dispatch::Email::MailSender ( log4perl email dynamic subject)
by tonytronics (Initiate) on May 06, 2015 at 20:32 UTC

    I would like to change the email subject before the program exists now I was able to do it by replacing the Email appender with a new one in the script as shown in the method below. I want to know if its possible to get the existing appender and modify its properties instead of replacing it.

    sub update_email_logger { my $subject = shift; my $logger = Log::Log4perl::get_logger(); my $pattern = Log::Log4perl::Layout::PatternLayout->new( "%d{yyyy +-MM-dd HH:mm:ss} %p: %m<br/>" ); my $appender = Log::Log4perl::Appender->new( "Log::Dispatch::Email::MailSender", name => "Email", to => $EMAIL_NOTIFICATION, subject => $subject, from => 'myemail@gmail.com', smtp => $SMTP_SERVER, Threshold => 'DEBUG', ); $appender->layout( $pattern ); $logger->add_appender( $appender ); }

      I would like to change the email subject before the program exists now I was able to do it by replacing the Email appender with a new one in the script as shown in the method below. I want to know if its possible to get the existing appender and modify its properties instead of replacing it.

      Sure it is possible -- the docs/faq even explain how -- but this is not the solution you're looking for :)

      If you want different emails to get info messages based on something in your code, use a dedicated category/logger like you're supposed want to

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1125804]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others romping around the Monastery: (2)
As of 2022-05-17 21:48 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    Do you prefer to work remotely?



    Results (68 votes). Check out past polls.

    Notices?