log4j實現傳送郵件功能
阿新 • • 發佈:2018-12-10
引言
最近預上線的一個機器人專案,因為這個專案中有很多的AI的東西,整個專案分為三部分組成,web工程——FS——NLU,整個web工程都是由我來負責,後面兩部分有大資料部門的東西負責,因為後面這兩部分對於我們貸後行業來說都是比較超前的,所以在整個連調的過程中會有很多的異常的情況,但是很多的時候都是後面兩部分的原因,但是每次都需要我去檢視日誌,之前我通logstash將日誌收集到了es中,但是我覺得不是很好。有事能發郵件就好了,所以小編查了相關的資料,之前我用python寫了一個指令碼,可利用Crontab或者計劃任務來指定時間執行。雖然已經實現了,但是這個過程相對來說比較複雜,後來發現通過log4j可以直接將error資訊傳送出郵件。
1、引入相關jar
<dependency> <groupId>javax.activation</groupId> <artifactId>activation</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>javax.mail</groupId> <artifactId>mail</artifactId> <version>1.4</version> </dependency>
2、相關配置
log4j.rootLogger=info, console, logFile,MAIL
## MAIL
log4j.appender.MAIL=org.apache.log4j.net.SMTPAppender
log4j.appender.MAIL.Threshold=ERROR
log4j.appender.MAIL.BufferSize=1
#smtp服務地址。不用163的那就改了吧,親。
log4j.appender.MAIL.SMTPHost=smtp.exmail.qq.com
#郵件標題
log4j.appender.MAIL.Subject=ErrorMessage
#發件郵箱
[email protected]
#收件郵箱
[email protected],
#發件箱登陸使用者名稱
[email protected]
#發件箱登陸密碼
log4j.appender.MAIL.SMTPPassword=abc
log4j.appender.MAIL.layout=org.apache.log4j.PatternLayout
log4j.appender.MAIL.layout.ConversionPattern=[ErrorMessage] %d - %c -%-4r [%t] %-5p %c %x - %m%n
3、大功告成
這種方式非常的簡單,所以當我們實現了一種方式以後,還需要一下是否 有更簡單的方式,來滿足我們的需求,方法沒有更好,只有更合適!
這樣我就可以通過郵件知道系統是否正常了,不用檢視什麼檔案了,不論在哪兒都知道系統是否正常!後面我會分享通過python指令碼的監控方式!