服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

原来写的一篇老文:实战log4j

以前的文章,粘在这里备份

实验目的:
 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, 
  ::url::http://java.sun.com/j2ee/ja/javamail/index.html
 ::url::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!!!");
  }
 }

扫描关注微信公众号