Log4j 發送 EMail 的配置
項目上線后,運行時往往也還會有異常發生,在異常拋出時,希望即時的得到反饋。所以需要配置LOG4J的發送EMAIL功能。
項目中原來使用的的Log4j版本為1.2.9 ,但此版本并不支持郵件服務的認證功能 ,遂重新下載了最新的版本1.2.14 ,查看源代碼
此版本支持認證功能 ,下面是 log4j.properties 的具體配置 :
## ROOT
log4j.rootLogger=INFO,CONSOLE,A_default,MAIL
## CONSOLE
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.Threshold=INFO
log4j.appender.CONSOLE.Target=System.out
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
#log4j.appender.CONSOLE.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n
log4j.appender.CONSOLE.layout.ConversionPattern=[調試信息]%-5p %c %x - %m%n
## A_default
log4j.appender.A_default=org.apache.log4j.RollingFileAppender
log4j.appender.A_default.Threshold=INFO
log4j.appender.A_default.File=${webframe.root}/WEB-INF/logs/railstone.log
log4j.appender.A_default.MaxFileSize=4000KB
log4j.appender.A_default.MaxBackupIndex=10
log4j.appender.A_default.layout=org.apache.log4j.PatternLayout
log4j.appender.A_default.layout.ConversionPattern=[調試信息]%-5p %c %x - %m%n
## MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
# 日志的錯誤級別
log4j.appender.MAIL.Threshold=ERROR
# 緩存文件大小,日志達到512K時發送Email
log4j.appender.MAIL.BufferSize=512
# 發送郵件的服務器
log4j.appender.MAIL.SMTPHost=smtp.163.com
# 郵件的標題
log4j.appender.MAIL.Subject=Log4J ErrorMessage
# 用戶名
log4j.appender.MAIL.SMTPUsername=郵箱用戶名
# 密碼
log4j.appender.MAIL.SMTPPassword=郵箱密碼
# 發件人地址
log4j.appender.MAIL.From=test@163.com
# 日志郵件的接收者
log4j.appender.MAIL.To=test@163.com
# 日志PatternLayout
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
# 日志的格式
log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n
在配置完畢后,發現 即使是將 log4j.appender.MAIL.Threshold=ERROR 修改為 INFO 級別 ,也只有在日志輸出級別為 ERROR (即代碼中調用logger.error("message")方法)時才會發送郵件,不知道是什么原因,反正現在的已經滿足了需求,就沒在去研究。
另外的一個問題是,LOG4J發送的郵件存在中文亂碼的問題,所以將 原來的 [錯誤信息] %d - %c -%-4r [%t] %-5p %c %x - %m%n 修改為現在的 [ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n 。
posted on 2006-09-21 11:08 wml 閱讀(3052) 評論(0) 編輯 收藏 所屬分類: 技術隨筆