實驗目的: 1.把FATAL級錯誤寫入2000NT日志 2. WARN,ERROR,F(xiàn)ATAL級錯誤發(fā)送email通知管理員 3.其他級別的錯誤直接在后臺輸出
實驗步驟: 輸出到2000NT日志 1.把Log4j壓縮包里的NTEventLogAppender.dll拷到WINNT\SYSTEM32目錄下 2.寫配置文件log4j.properties
# 在2000系統(tǒng)日志輸出 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
3.調用代碼: Logger logger2 = Logger.getLogger("NTlog"); //要和配置文件中設置的名字相同 logger2.debug("debug!!!"); logger2.info("info!!!"); logger2.warn("warn!!!"); logger2.error("error!!!"); //只有這個錯誤才會寫入2000日志 logger2.fatal("fatal!!!");
發(fā)送email通知管理員: 1. 首先下載JavaMail和JAF, http://java./j2ee/ja/javamail/index.html http://java./beans/glasgow/jaf.html 在項目中引用mail.jar和activation.jar。 2. 寫配置文件 # 將日志發(fā)送到email log4j.logger.MailLog=WARN,A5 # APPENDER A5 log4j.appender.A5=org.apache.log4j.net.SMTPAppender log4j.appender.A5.BufferSize=5 log4j.appender.A5.To=chunjie@263.net log4j.appender.A5.From=error@error.com log4j.appender.A5.Subject=ErrorLog log4j.appender.A5.SMTPHost=smtp.263.net log4j.appender.A5.layout=org.apache.log4j.PatternLayout log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n 3.調用代碼: //把日志發(fā)送到mail Logger logger3 = Logger.getLogger("MailLog"); logger3.warn("warn!!!"); logger3.error("error!!!"); logger3.fatal("fatal!!!");
在后臺輸出所有類別的錯誤: 1. 寫配置文件 # 在后臺輸出 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 2.調用代碼 Logger logger1 = Logger.getLogger("console"); logger1.debug("debug!!!"); logger1.info("info!!!"); logger1.warn("warn!!!"); logger1.error("error!!!"); logger1.fatal("fatal!!!");
-------------------------------------------------------------------- 全部配置文件:log4j.properties # 在后臺輸出 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
# 在2000系統(tǒng)日志輸出 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
# 將日志發(fā)送到email log4j.logger.MailLog=WARN,A5 # APPENDER A5 log4j.appender.A5=org.apache.log4j.net.SMTPAppender log4j.appender.A5.BufferSize=5 log4j.appender.A5.To=chunjie@263.net log4j.appender.A5.From=error@error.com log4j.appender.A5.Subject=ErrorLog log4j.appender.A5.SMTPHost=smtp.263.net log4j.appender.A5.layout=org.apache.log4j.PatternLayout log4j.appender.A5.layout.ConversionPattern=%-4r %-5p [%t] %37c %3x - %m%n
全部代碼:Log4jTest.java
- /*
- * 創(chuàng)建日期 2003-11-13
- */
- package edu.bcu.Bean;
- import org.apache.log4j.*;
- //import org.apache.log4j.nt.*;
- //import org.apache.log4j.net.*;
- /**
- * @author yanxu
- */
- public class Log4jTest
- {
- public static void main(String args[])
- {
- PropertyConfigurator.configure("log4j.properties");
- //在后臺輸出
- Logger logger1 = Logger.getLogger("console");
- logger1.debug("debug!!!");
- logger1.info("info!!!");
- logger1.warn("warn!!!");
- logger1.error("error!!!");
- logger1.fatal("fatal!!!");
-
- //在NT系統(tǒng)日志輸出
- 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!!!");
-
- //把日志發(fā)送到mail
- Logger logger3 = Logger.getLogger("MailLog");
- //SMTPAppender sa = new SMTPAppender();
- logger3.warn("warn!!!");
- logger3.error("error!!!");
- logger3.fatal("fatal!!!");
- }
- }
|
|