1. 程式人生 > >log4j通過配置文件配置即,即可完成系統報錯想向指定郵箱發送提醒消息,網上的很多方法都又問題

log4j通過配置文件配置即,即可完成系統報錯想向指定郵箱發送提醒消息,網上的很多方法都又問題

name 分享 tor round 郵箱 article eap configure sys

我參考了下面的鏈接去實現,但是遇到了一些問題

參考鏈接:

1)http://blog.csdn.net/azheng270/article/details/2173430/ 這個鏈接說了如何操作的問題,但是他的log4j的配置文件感覺有問題

2)http://blog.csdn.net/cosmichut/article/details/2448159 log4j配置相對又點全

大致說一下步驟:

1.下載activation.jar和mail.jar,導入項目

2.下載log4j的壓縮包文件,記得下載zip格式的。裏面你回看到NETeventLogAppender.dll以及對應64位版本的,放到NTEventLogAppender.dll拷到WINNT/SYSTEM32目錄下,如果是64位的記得放入的是64的那個dll

3.配置文件log4j的設置,下面又粘貼

4.測試代碼

package com.thinkgem.jeesite.test;
import org.apache.log4j.*;
public class Log4jtest {
public static void main(String args[])
{
PropertyConfigurator.configure("D:\\workspace3\\jeesite\\src\\main\\resources\\log4j.properties");
//在後臺輸出
Logger logger1 = Logger.getLogger("console");


logger1.debug("debug!!!");
logger1.info("info!!!");
logger1.warn("warn!!!");
logger1.error("error!!!");
logger1.fatal("fatal!!!");
//在NT系統日誌輸出
Logger logger2 = Logger.getLogger("NTlog");
//NTEventLogAppender nla = new NTEventLogAppender();
logger2.debug("debug!!!");

logger2.info("info!!!");
logger2.warn("warn!!!");
logger2.error("error!!!");
//只有這個錯誤才會寫入2000日誌
logger2.fatal("fatal!!!");
//把日誌發送到mail
Logger logger3 = Logger.getLogger("MailLog");
//SMTPAppender sa = new SMTPAppender();
logger3.warn("warn!!!");
logger3.error("error!!!");
logger3.fatal("fatal!!!");
}
}

需要的東西如下截圖

技術分享

問題一:鏈接一中的測試代碼裏面:PropertyConfigurator.configure("log4j.properties");我換成絕對路徑才不報錯。我的在d盤下面,相對路徑沒有成功。

問題二:1.把Log4j壓縮包裏的NTEventLogAppender.dll拷到WINNT/SYSTEM32目錄下,去網上下載log4j的壓縮包文件 .zip結尾的文件,有64位的和32位的要註意

問題三:你fromMail,要去開通過,獲得一個密碼,你通過發一個短信給服務器,服務器會發給你。不然人人的可以用別人的郵箱隨便發內容了

問題四:log4j中的郵箱服務器端口:開始的時候沒有設置,端口默認是25,不對,然後我設置了465,發現也不行最後嘗試了一下587ok了

最後給出我的log4j的配置文件

log4j.logger.console=DEBUG, A1
# APPENDER A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
log4j.logger.NTlog=FATAL, A8
# APPENDER A8
log4j.appender.A8=org.apache.log4j.nt.NTEventLogAppender
log4j.appender.A8.Source=JavaTest
log4j.appender.A8.layout=org.apache.log4j.PatternLayout
log4j.appender.A8.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
log4j.logger.MailLog=WARN,A5
log4j.appender.A5=org.apache.log4j.net.SMTPAppender
log4j.appender.A5.Threshold=ERROR
log4j.appender.A5.BufferSize=10
[email protected]
log4j.appender.A5.SMTPHost=smtp.qq.com
[email protected]
log4j.appender.A5.SMTPPassword=服務器給你發的密碼
log4j.appender.A5.SMTPDebug=true

log4j.appender.A5.Subject=Log4J Error Message
[email protected]
log4j.appender.A5.layout=org.apache.log4j.PatternLayout
log4j.appender.A5.layout.ConversionPattern=[framework] %d - %c -%-4r [%t] %-5p %c %x - %m%n

log4j.appender.A5.SMTPPort=587

以下我qq:1195748576,

log4j通過配置文件配置即,即可完成系統報錯想向指定郵箱發送提醒消息,網上的很多方法都又問題