以前的文章,粘在这里备份
实验目的:
1.把fatal级错误写入2000nt日志
2. warn,error,fatal级错误发送email通知管理员
3.其他级别的错误直接在后台输出
实验步骤:
输出到2000nt日志
1.把log4j压缩包里的nteventlogappender.dll拷到winnt/system32目录下
2.写配置文件log4j.properties
# 在2000系统日志输出
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!!!");
发送email通知管理员:
1. 首先下载javamail和jaf,
http://java.sun.com/j2ee/ja/javamail/index.html
http://java.sun.com/beans/glasgow/jaf.html
在项目中引用mail.jar和activation.jar。
2. 写配置文件
# 将日志发送到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.调用代码:
//把日志发送到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系统日志输出
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
# 将日志发送到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
/*
* 创建日期 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系统日志输出
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!!!");
}
}
闽公网安备 35060202000074号