Spring专题(6)——Log4j日志记录工具

Log4j日志记录工具

6.1 Log4j介绍

Log4j主要用于日志信息的输出。可以将信息分级别(错误、严重、警告、调式信息)按不同方式(控制台、文件、数据库)和格式输出。

Log4j主要有以下3部分组件构成:

  1. 日志器(Logger):负责消息输出,提供了各种不同级别的输出方法。
  2. 输出器(Appender):负责控制消息输出的方式,例如输出到控制台、文件输出等。
  3. 布局器(格式器,Layout):负责控制消息的输出格式。

6.2 Log4j的使用

step1:引入log4j.jar

step2:在src下添加log4j.properties(定义了消息输出级别、采用哪种输出器、采用哪种布局器)

      #level:大小写都可,myconsole是自己随便起的appender名字,可以写多个appender

      log4j.rootLogger=debug,myconsole,myfile

      #appender:可在org.apache.log4j中找自带的类

      log4j.appender.myconsole=org.apache.log4j.ConsoleAppender

      log4j.appender.myfile=org.apache.log4j.FileAppender

      #log4j.appender.myfile.File=D:\\error.txt

      log4j.appender.myfile.File=D:\\error.html

      #layout:可在org.apache.log4j中找自带的类

      log4j.appender.myconsole.layout=org.apache.log4j.SimpleLayout

      log4j.appender.myfile.layout=org.apache.log4j.HTMLLayout

  1. 注意事项:级别从小到大为:debug、info、warn、error、fatal

step3:创建TestLog4j类,测试利用日志器不同的方法输出消息。

public class TestLog4j {

       public static Logger logger=Logger.getLogger(TestLog4j.class);

       public static void main(String[] args) {

              //能显示就显示,不显示也不会影响主程序后面的运行,仅是个辅助工具

              logger.debug("调试信息");          logger.info("普通信息");

              logger.warn("警告信息");            logger.error("错误信息");

              logger.fatal("致命信息");                                                       }                   }

  1. 注意事项:
  1. 导包为org.apache.log4j.Logger。
  2. 若在log4j.properties中指定的级别为debug,则五种信息都会显示;若指定的级别为error,则只显示error和fatal信息。

6.3案例:修改5.8案例,使用Log4j记录日志

step1:继续使用6.2节step1和step2

step2:修改5.8案例step1

public class ExceptionBean {//将异常信息写入文件

       Logger logger=Logger.getLogger(Exception.class);

       public void exec(Exception ex){//ex代表目标方法抛出的异常

              logger.error("====异常信息====");//记录异常信息

              logger.error("异常类型"+ex);

              StackTraceElement[] els=ex.getStackTrace();

              for(StackTraceElement el:els){     logger.error(el);     }            }                   }

step3:执行3.4案例step3则删除操作报空指针异常(前提:已进行了5.8案例step3操作)!由于log4j.properties配置了两种输出方式,所以两种方式都有效。

控制台的显示结果:

      XXX执行了资费删除操作!操作时间:2013-08-20 12:47:54

      ERROR - ====异常信息====

      ERROR - 异常类型java.lang.NullPointerException

      ……       ……       ……       ……

HTML显示结果:

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值