欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Log4j 配置錯誤信息發(fā)送Mail

近來(lái)不是很忙,看了看log4j,然后看到log4j里面有appender到mail的功能,個(gè)人做了點(diǎn)了解和實(shí)驗,寫(xiě)了個(gè)簡(jiǎn)單的demo做了點(diǎn)測試。

Log4j發(fā)送日志郵件的作用:
      項目錯誤信息能及時(shí)(實(shí)時(shí))反映給項目維護人員以及相關(guān)負責人。

優(yōu)點(diǎn):
      1.快速響應;
      2.共同監督;
      3.郵件正文直接顯示了錯誤信息,拷貝信息比登陸服務(wù)器再查找要方便;
      4.在日志信息繼續寫(xiě)入文件的前提下,多了另外一種獲取信息的渠道。

首先:在apache官網(wǎng)下載相關(guān)最新的jar包,并在項目中引用(activation.jar,mail.jar),此外還有log4j的jar包,此例用的是(log4j-1.2.16.jar)

在測試的過(guò)程中發(fā)現了已下幾點(diǎn)問(wèn)題并解決,和大家分享下:

1.首先我測試的時(shí)候是用的info的級別,所以在發(fā)送mail的過(guò)程中出錯了,信息都不會(huì )打印出來(lái),并且mail也收不到,我就很奇怪,然后我把log的級別調成error,控制臺才打印出了mail 發(fā)送失敗的log信息,經(jīng)查閱發(fā)現:Log4j的SMTP的級別默認是ERROR級別
默認是ERROR級別,那就是說(shuō),只有程序出錯了,才可以收到郵件。不過(guò)可以自定義的級別,繼承TriggeringEventEvaluator類(lèi),具體實(shí)現見(jiàn)下方代碼:

  1. public class IMTriggeringEventEvaluator implements TriggeringEventEvaluator {  
  2.   
  3.     @Override  
  4.     public boolean isTriggeringEvent(LoggingEvent arg0) {  
  5.   
  6.         return arg0.getLevel().isGreaterOrEqual(Level.DEBUG);  
  7.     }  
  8.   
  9. }  
自定義的Appender:
  1. import org.apache.log4j.net.SMTPAppender;  
  2. import org.apache.log4j.spi.LoggingEvent;  
  3.   
  4. public class IMSMTPAppender extends SMTPAppender {  
  5.     public IMSMTPAppender() {  
  6.         super(new IMTriggeringEventEvaluator());  
  7.         Runtime.getRuntime().addShutdownHook(new Thread() {  
  8.             public void run() {  
  9.                 if (cb.length() > 0) {  
  10.                     sendBuffer();  
  11.                 }  
  12.             }  
  13.         });  
  14.     }  

此時(shí)比>=debug的級別都可以實(shí)現.

2 log報錯的信息看到了,報了如下的錯誤:

  1. javax.mail.MessagingException: Could not connect to SMTP host: smtp.163.com, port: 25;  

這個(gè)時(shí)候通過(guò)上網(wǎng)查找,才發(fā)現是我本地機器上裝了MACFEE殺毒軟件,該軟件里面的一個(gè)端口保護規則將port 25給阻止了,禁止群發(fā)郵件蠕蟲(chóng)發(fā)送郵件。然后把殺軟關(guān)了或者把該規則去掉就ok 了

3 去掉以后還是會(huì )報

  1. 530 5.7.0 Must issue a STARTTLS command first  
此時(shí)我用的是gamil的smtp服務(wù)器,我換成163的就不報錯了,經(jīng)查閱是有的郵件服務(wù)器會(huì )拒絕該方式連接到郵件服務(wù)器上

4雖然連接163郵件服務(wù)器成功,可是此時(shí)還是會(huì )報AuthenticationFailedException異常,經(jīng)查閱,是郵件服務(wù)器要對from 郵件的用戶(hù)名和密碼做認證,認證過(guò)了才能發(fā)送,可是這個(gè)時(shí)候我并沒(méi)有發(fā)現我的log4j的參數文件里面可以配置SMTPUsername的屬性,經(jīng)查閱發(fā)現我當前用的是log4j1.2.6,在1.2.6的版本中,SMTPAppender沒(méi)有SMTPPassword 和SMTPUsername 屬性,更談不上驗證了。這兩個(gè)屬性分別是登錄SMTP服務(wù)器發(fā)送認證的用戶(hù)名和密碼。1.2.9之后的版本才有這兩個(gè)屬性。

log4j也提供了郵件認證的API,但是網(wǎng)上有網(wǎng)友也遇到這樣的問(wèn)題,解決方法A 自定義Appender 繼承org.apache.log4j.net.SMTPAppender,在這個(gè)類(lèi)里面封裝認證的邏輯,B使用log4j1.2。14以上版本,1.2.14以上版本集成了認證的功能,所以我果斷把我的1.2.6版本換成了1.2.16,果斷ok了。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
郵件服務(wù)器運作原理簡(jiǎn)單講解
郵件工作原理
詳解DNS的常用記錄(下):DNS系列之三
SMTP結構及原理
如何在Microsoft Outlook Express添加您的電子郵件帳戶(hù)
郵件服務(wù)器入門(mén)問(wèn)答
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久