使用Log4J監控系統日誌郵件警報

 

使用Log4J監控系統日誌郵件警報html

 

前言java

  在系統上線後,有時候遇到系統故障,這時候就能夠登陸服務器查看系統日誌來排查問題。可是須要登陸服務器,下載查找相關異常日誌比較麻煩。並且沒有監控的話,也沒法實時瞭解到系統是否正常運行。那麼有沒有一種好辦法將系統異常信息實時反饋給相關人員呢?apache

  本文講的就是藉助Log4J來記錄程序運行日誌,當一旦發現系統異常或者本身定義的其餘一些狀況發生時,及時經過郵件形式發送給相關負責人,並附上相關的系統日誌信息,這樣負責人就能夠實時便捷的監控到系統的狀態和相關異常信息。緩存

另外服務器

  須要瞭解Log4J組件的使用,能夠查看我之前寫的這篇博客:Log4J的配置與使用詳解[戳我]app

優勢spa

  採用這種方式的優勢有:.net

  1. 實時性。不用按期或不按期的登錄系統查看是否正常運行。
  2. 及時性。一旦系統異常,就會通知。
  3. 便捷性。郵件裏附上異常日誌,不用登錄系統下載日誌查看。

環境調試

  導入依賴jar包:日誌

  1. log4j-1.2.17.jar

  官網下載地址[戳我]

  目前log4j最新版是1.2.17。低版本的log4j沒法實現郵件發送功能,由於版本低於log4j-1.2.14.jar的不支持SMTP認證。

  發送郵件的一個重要的類是SMTPAppender,在1.2.8的版本中,SMTPAppender沒有SMTPUsername和SMTPPassword屬性。這兩個屬性分別是登陸SMTP服務器發送認證的用戶名和密碼。

  2. mail-1.4.jar

  發送郵件固然須要用到JavaMail包啦。

  3. activation-1.1.jar

配置

  配置log4j.properties文件,以下:

 1 log4j.rootLogger=DEBUG, MAIL  2 
 3 log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender  4 log4j.appender.MAIL.Threshold=ERROR  5 log4j.appender.MAIL.BufferSize=10
 6 log4j.appender.MAIL.From=123@qq.com  7 log4j.appender.MAIL.SMTPHost=smtp.qq.com  8 log4j.appender.MAIL.SMTPUsername=123
 9 log4j.appender.MAIL.SMTPPassword=***
10 log4j.appender.MAIL.SMTPDebug=false
11 log4j.appender.MAIL.Subject=Log4JErrorMessage 12 log4j.appender.MAIL.To=123@qq.com 13 log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout 14 log4j.appender.MAIL.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%t] %-5p %c %x -- %m%n

   每行配置詳解:

  3.log4j的郵件發送appender,若是有必要你能夠寫本身的appender。

  4.發送郵件的門檻,僅當等於或高於ERROR級別時,郵件才被髮送。

  5.緩存文件大小,日誌達到10k時發送Email。

  6.發送郵件的郵箱賬號。

  7.SMTP郵件發送服務器地址。

  8.SMTP發送認證的賬號名。

  9.SMTP發送認證賬號的密碼。

  10.是否打印調試信息,若是選true,則會輸出和SMTP之間的握手等詳細信息

  11.郵件主題。

  12.發送到什麼郵箱,若是要發送給多個郵箱,則用逗號分隔。

其餘

  若是須要抄送給某人,則添加以下配置:

log4j.appender.MAIL.Bcc=xxx@xxx.xxx

  想讓郵件內容日誌以HTML格式來輸出,則配置:

log4j.appender.MAIL.layout=org.apache.log4j.HTMLLayout

  輸出到郵件中顯示以下圖:

 

相關文章
相關標籤/搜索