分享

JR - 精品文章 - 原来写的一篇老文:实战Log4j

 philip 2006-07-03
原来写的一篇老文:实战Log4j
changzheng 原创  (参与分:32628,专家分:985)   发表:2004-11-28 10:09   版本:1.0   阅读:3194

实验目的:
 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./j2ee/ja/javamail/index.html 
 http://java./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
 
  1. /*
  2.   * 创建日期 2003-11-13
  3.   */
  4.  package edu.bcu.Bean;
  5.  import org.apache.log4j.*;
  6.  //import org.apache.log4j.nt.*;
  7.  //import org.apache.log4j.net.*;
  8.  /**
  9.   * @author yanxu
  10.   */
  11.  public class Log4jTest
  12.  {
  13.   public static void main(String args[])
  14.   {
  15.    PropertyConfigurator.configure("log4j.properties");
  16.    //在后台输出
  17.    Logger logger1 = Logger.getLogger("console");
  18.    logger1.debug("debug!!!");
  19.    logger1.info("info!!!");
  20.    logger1.warn("warn!!!");
  21.    logger1.error("error!!!");
  22.    logger1.fatal("fatal!!!");
  23.    //在NT系统日志输出
  24.    Logger logger2 = Logger.getLogger("NTlog");
  25.    //NTEventLogAppender nla = new NTEventLogAppender();
  26.    logger2.debug("debug!!!");
  27.    logger2.info("info!!!");
  28.    logger2.warn("warn!!!");
  29.    logger2.error("error!!!");
  30.    //只有这个错误才会写入2000日志
  31.    logger2.fatal("fatal!!!");
  32.    //把日志发送到mail
  33.    Logger logger3 = Logger.getLogger("MailLog");
  34.    //SMTPAppender sa = new SMTPAppender();
  35.    logger3.warn("warn!!!");
  36.    logger3.error("error!!!");
  37.    logger3.fatal("fatal!!!");
  38.   }
  39.  }

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多