web---log4j

  1. log4j概述
    log4j log for java 专门为java提供的日志框架。
    是目前公司中java语言收集日志的主流日志框架。
    a. 特点:
    收集的优先级
    收集数据的输出目的地 文件 console
    收集数据的展示形式 HTML pattern
    1. 如何使用log4j
      a. 在程序中导入log4j所需jar包。

       log4j.jar可以在网络中搜索对应名称,然后从官网下载最新版本。
       http://jakarta.apache.org/log4j
      

      b. 书写配置文件
      log4j的配置文件无需学习书写,只需掌握阅读方式,及使用方式即可。可以找到一份较完整的配置文件,在其中按照自己的需求做出对应的修改,即可变成自己所需的配置文件。
      i. 注意:在配置文件中,顶部的管道可以删除,但是如果管道存在,则必须要添加对应的配置信息,选择输出的目的地。
      log4j.rootLogger = info,stdout,D,E

       log4j.appender.stdout = org.apache.log4j.ConsoleAppender
       log4j.appender.stdout.Target = System.out
       log4j.appender.stdout.layout = org.apache.log4j.PatternLayout
       log4j.appender.stdout.layout.ConversionPattern = [%-5p] %d{yyyy-MM-dd HH:mm:ss,SSS} method:%l%m%n
       
       log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
       log4j.appender.D.File = E://logs/log.log
       log4j.appender.D.Append = true
       log4j.appender.D.Threshold = DEBUG
       log4j.appender.D.layout = org.apache.log4j.PatternLayout
       log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n
       
       log4j.appender.E = org.apache.log4j.DailyRollingFileAppender
       log4j.appender.E.File =E://logs/error.log
       log4j.appender.E.Append = true
       log4j.appender.E.Threshold = ERROR
       log4j.appender.E.layout = org.apache.log4j.PatternLayout
       log4j.appender.E.layout.ConversionPattern =%-d{yyyy-MM-dd HH\:mm\:ss} [ %t\:%r ] - [ %p ] %m%n
      

      c. 日志数据的优先级 Threshold
      所谓日志的优先级就是日志的收集级别。指定收集级别之后,log4j会将当前级别及其以上级别的内容同时收集。
      off 最高等级, 用于关闭所有日志记录。
      fatal 指出每个严重的错误事件将会导致应用程序的退出。
      error 指出虽然发生错误事件, 但仍然不影响系统的继续运行。
      warn 表明会出现潜在的错误情形。
      info 一般和在粗粒度级别上, 强调应用程序的运行全程。
      debug 一般用于细粒度级别上, 对调试应用程序非常有帮助。
      all 最低等级, 用于打开所有日志记录
      d. 数据输出的目的地 appender
      所谓日志输出的目的地,指的是日志内容向何处输出,输出方向可以console,也可以说一个文件。
      org. apache. log4j. ConsoleAppender(控制台) ,
      org. apache. log4j. FileAppender(文件) ,
      org. apache. log4j. DailyRollingFileAppender(每天产生一个日 志文件) ,
      org. apache. log4j. RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件) ,
      org. apache. log4j. WriterAppender(将日 志信息以流格式发送到任意指定的地方)
      e. 数据输出的格式
      所谓日志输出的格式,就是日志以何种形式向目的地输出,这些形式可以是HTML结构,也可以说自定义结构。
      org. apache. log4j. HTMLLayout(以HTML表格形式布局) ,
      org. apache. log4j. PatternLayout(可以灵活地指定布局模式) ,
      org. apache. log4j. SimpleLayout(包含日 志信息的级别和信息字符串) ,
      org. apache. log4j. TTCCLayout(包含日 志产生的时间、 线程、 类别等等信息)
      f. pattern配置
      %p 输出优先级, 即DEBUG, INFO, WARN, ERROR, FATAL
      %r 输出自 应用启动到输出该log信息耗费的毫秒数
      %c 输出所属的类目 , 通常就是所在类的全名
      %t 输出产生该日 志事件的线程名
      %n 输出一个回车换行符, Windows平台为“rn”, Unix平台为“n”
      %d 输出日志时间点的日期或时间, 默认格式为ISO8601, 也可以在其后指定格式, 比如: %d{yyy MMM dd HH: mm: ss, SSS}, 输出类似
      : 2002年10月 18日 22: 10: 28, 921
      %l 输出日志事件的发生位置, 包括类目 名、 发生的线程, 以及在代码中的行数。 举例: Testlog4. main(TestLog4. java: 10)
      %m 输出的日志信息内容

    2. 创建日志对象
      日志信息需要通过Logger对象输出。
      Logger logger = Logger.getLogger(.class)

    3. 代码实现:
      package cn.tedu.log4j;

      import org.apache.log4j.Logger;

      public class Demo1 {
      public static Logger logger = Logger.getLogger(Demo1.class);
      public static void main(String[] args) {
      logger.fatal(“这是一个致命的日志”);
      logger.error(“这是一个错误的日志”);
      logger.warn(“这是一个警告日志”);
      logger.info(“这是一个普通日志”);
      logger.debug(“这是一个调试日志”);
      }

      }

    4. 修改EasyMall
      User类:
      public void valueBound(HttpSessionBindingEvent event) {
      logger.fatal(“用户【”+username+"】登录EasyMall");

      }
      public void valueUnbound(HttpSessionBindingEvent event) {
      logger.fatal(“用户【”+username+"】退出EasyMall");

      }

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值