On Tue, 17 Feb 2009, wzhao6...@gmail.com wrote:

> What I'm trying to do here is:
> 1. log WARN to mainLogFile
> 2. log DEBUG to runMonitorLogFile

Watch out for this common gotcha, listed in the Log4perl FAQ:

     
http://search.cpan.org/dist/Log-Log4perl/lib/Log/Log4perl/FAQ.pm#I_keep_getting_duplicate_log_messages!_What's_wrong?

Also, what do you mean exactly when you say "log WARN" -- is it WARN
messages only or WARN+up?

-- Mike

Mike Schilli
m...@perlmeister.com

> 3. output to screen at level INFO
> 4. email at level WARN
> and here is the log4per.properties file:
>
> #predefined variables
> layout_class   = Log::Log4perl::Layout::PatternLayout
> layout_pattern = %d %5p %F{1} %L> %m %n
> layout_email_pattern = %d{yyyy-MM-dd HH:mm:ss} [%F{1}:%c{1}:%L] %5p> %m%n
> log_file_appender = Log::Dispatch::FileRotate
>
> log4perl.logger.main = WARN, MainLogfile, Email
>
> log4perl.logger.main.runMonitorStage = DEBUG, RunMonitorLogFile, Screen
>
> log4perl.appender.MainLogfile = Log::Dispatch::FileRotate
> log4perl.appender.MainLogfile.filename = main.log
> log4perl.appender.MainLogfile.mode = append
> log4perl.appender.MainLogfile.max         = 5
> log4perl.appender.MainLogfile.DatePattern = yyyy-MM-dd
> log4perl.appender.MainLogfile.TZ           = PST
> log4perl.appender.MainLogfile.layout = ${layout_class}
> log4perl.appender.MainLogfile.layout.ConversionPattern = ${layout_pattern}
>
>
> #Run Monitor Stage Log
> log4perl.appender.RunMonitorLogFile = ${log_file_appender}
> log4perl.appender.RunMonitorLogFile.filename = logs/runmonitor.log
> log4perl.appender.RunMonitorLogFile.mode = append
> log4perl.appender.RunMonitorLogFile.max         = 5
> log4perl.appender.RunMonitorLogFile.DatePattern = yyyy-MM-dd
> log4perl.appender.RunMonitorLogFile.TZ          = PST
> log4perl.appender.RunMonitorLogFile.layout = ${layout_class}
> log4perl.appender.RunMonitorLogFile.layout.ConversionPattern =
> ${layout_pattern}
>
> #log4perl general screen output configuration
> log4perl.appender.Screen        = Log::Log4perl::Appender::Screen
> log4perl.appender.Screen.stderr = 0
> log4perl.appender.Screen.layout = ${layout_class}
> log4perl.appender.Screen.layout.ConversionPattern = ${layout_pattern}
> log4perl.appender.Screen.Threshold = INFO
>
> #SPP event EMAIL output configuration
> log4perl.appender.Email         = Log::Dispatch::Email::MailSender
> log4perl.appender.Email.subject = sub { return getEmailSubject(); }
> #log4perl.appender.Email.subject = %F{1}
> log4perl.appender.Email.name   = SPP event
> log4perl.appender.Email.to     = dav...@mail.com
> log4perl.appender.Email.from   = davidz@ mail.com
> log4perl.appender.Email.smtp   = mail.com
> log4perl.appender.Email.min_level = warning
> log4perl.appender.Email.buffered = 0
> log4perl.appender.Email.layout = ${layout_class}
> log4perl.appender.Email.layout.ConversionPattern = ${layout_email_pattern}
>
> With this setup, I can achieve all of above intended, except for the DEBUG
> logging is directed to mail.log instead of runmonitor.log.
> With
> log4perl.appender.MainLogfile.Threshold  = WARN
> specified, no DEBUG level log to either logs.
>
> Where do I set up wrong here? Thanks in advance!
>
> David
>

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
log4perl-devel mailing list
log4perl-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/log4perl-devel

Reply via email to