zoukankan      html  css  js  c++  java
  • log4j 应用

    前言:

      该片文章旨在对于刚入门的log4j学习的同学们,看完这篇,应该可以提高了。

      主要内容还是根据log4j的配置文件中的各个配置来进行解析

    正文:  

    log4j 使用参数

    log4j配置文件示例:

    ### 设置###
    log4j.rootLogger = debug,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%n%m%n
    
    ### 输出DEBUG 级别以上的日志到=E://logs/error.log ###
    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
    
    ### 输出ERROR 级别以上的日志到=E://logs/error.log ###
    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

    1.log4j.rootLogger = [ level ] , appenderName, appenderName, …
      level级别分为:OFF、FATAL、ERROR、WARN、INFO、DEBUG、ALL或者您定义的级别
      Log4j建议使用:ERROR、WARN、INFO、DEBUG这四个级别。

      appenderName:指日志输出目的地。可以定义为多个位置
      常用的就是控制台,和指定路径文件中

    2.配置日志信息输出目的地Appender
      格式:
        log4j.appender.appenderName = fully.qualified.name.of.appender.class
        log4j.appender.appenderName.option1 = value1
          …
        log4j.appender.appenderName.option = valueN

      a):log4j.appender.appenderName = fully.qualified.name.of.appender.class
       //配置appender的类型,一般有以下几个值
          org.apache.log4j.ConsoleAppender(控制台),
          org.apache.log4j.FileAppender(文件),
          org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
          org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
          org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
          org.apache.log4j.JDBCAppender(将日志信息保存到数据库中)

      log4j.appender.appenderName.option1 = value1
        //配置appenderName的各个属性option,包括:
      b):log4j.appender.appenderName.File=文件目录及文件
        ${user.home}/logs/...
      c):log4j.appender.appenderName.MaxFileSize=最大文件大小
        100KB
      d):log4j.appender.appenderName.MaxBackupIndex=备份文件个数
        1
      e):log4j.appender.ServerDailyRollingFile.DatePattern=日志后缀格式
        例如,'.'yyyy-MM-dd ---->> error.log.2015-12-29
      f):log4j.appender.appenderName.layout=org.apache.log4j.日志布局格式
        •HTMLLayout(以HTML表格形式布局)
        •SimpleLayout(包含日志信息的级别和信息字符串)
        •TTCCLayout(包含日志产生的时间,线程,类别等信息)
        •PatternLayout(可以灵活的指定布局格式,常用)
      g):log4j.appender.appender1.layout.ConversionPattern=日志输出格式
        1.例如,%d - %m%n或%d{yyyy-MM-dd HH:mm:ss} %p [%c] %m%n
        2.%c 输出日志信息所属的类的全名
        3.%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy-M-dd HH:mm:ss },输出类似:2002-10-18- 22:10:28
        4.%f 输出日志信息所属的类的类名
        5.%l 输出日志事件的发生位置,即输出日志信息的语句处于它所在的类的第几行
        6.%m 输出代码中指定的信息,如log(message)中的message
        7.%n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”
        8.%p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL。如果是调用debug()输出的,则为DEBUG,依此类推
        9.%r 输出自应用启动到输出该日志信息所耗费的毫秒数
        10.%t 输出产生该日志事件的线程名

      h):log4j.appender.ServerDailyRollingFile.Append=true
        追加!

      总结:
        •Logger类:完成日志记录,设置日志信息级别;
              负责捕获记录信息。
        •Appender类:决定日志去向,终端、DB、硬盘;
              负责发布日志信息,以不同的首选目的地。
        •Layout类:决定日志输出的样式,例如包含当前线程、行号、时间;
              负责格式化不同风格的日志信息。

    参考传送门:
    基础了解:易百教程:http://www.yiibai.com/log4j/log4j_installation.html
    其他实例:http://www.cnblogs.com/alipayhutu/archive/2012/06/21/2558249.html
    Log4j ConversionPattern参数的格式含义:http://blog.sina.com.cn/s/blog_4e4dd5570100qowy.html
    配置Log4j(很详细): http://blog.csdn.net/azheng270/article/details/2173430/【强烈推荐,文如其题】

  • 相关阅读:
    Encryption (hard) CodeForces
    cf 1163D Mysterious Code (字符串, dp)
    AC日记——大整数的因子 openjudge 1.6 13
    AC日记——计算2的N次方 openjudge 1.6 12
    Ac日记——大整数减法 openjudge 1.6 11
    AC日记——大整数加法 openjudge 1.6 10
    AC日记——组合数问题 落谷 P2822 noip2016day2T1
    AC日记——向量点积计算 openjudge 1.6 09
    AC日记——石头剪刀布 openjudge 1.6 08
    AC日记——有趣的跳跃 openjudge 1.6 07
  • 原文地址:https://www.cnblogs.com/not-NULL/p/5050702.html
Copyright © 2011-2022 走看看