1. 程式人生 > >log4j實現傳送郵件功能

log4j實現傳送郵件功能

引言

最近預上線的一個機器人專案,因為這個專案中有很多的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指令碼的監控方式!