log4perl の logfatal に「log出力+email送信」をさせたい、そんなとき

まず、そのマシンからメールが送れることを確かめます。例えばコマンドラインから、

mail suteki@suteki.suteki

この状態で、log4perl.conf をこのようにします。

※この設定は、ログを画面に色つきで出力しつつ、FATALのときはメールを送るという設定です。

log4perl.rootLogger=DEBUG, LOGFILE, MAILER
log4perl.appender.LOGFILE=Log::Log4perl::Appender::ScreenColoredLevels
log4perl.appender.LOGFILE.layout=PatternLayout
log4perl.appender.LOGFILE.layout.ConversionPattern=%d %p> %F{1}:%L – %m%n

log4perl.appender.MAILER.Threshold = FATAL
log4perl.appender.MAILER = Log::Dispatch::Email::MailSend
log4perl.appender.MAILER.to = suteki@suteki.suteki
log4perl.appender.MAILER.subject = myapp is broken
log4perl.appender.MAILER.layout = SimpleLayout

※LOGFILEのappenderを変えればファイルにも出せます。

log4perl.appender.LOGFILE=Log::Dispatch::FileRotate
log4perl.appender.LOGFILE.filename=./log/myapp.log
log4perl.appender.LOGFILE.mode=append
log4perl.appender.LOGFILE.size=5000000
log4perl.appender.LOGFILE.max=10
log4perl.appender.LOGFILE.layout=PatternLayout
log4perl.appender.LOGFILE.layout.ConversionPattern=%d %p> %F{1}:%L – %m%n

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>