From: <wzh...@gm...> - 2009-02-17 18:14:03
|
Hi there, What I'm trying to do here is: 1. log WARN to mainLogFile 2. log DEBUG to runMonitorLogFile 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 = da...@ma... 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 |