• Log4j配置详解


    log4j.rootLogger=INFO,Everyday,SysOut
    log4j.logger.org.hibernate.SQL=trace
    log4j.logger.org.hibernate.type=trace

    #for console
    log4j.appender.SysOut=org.apache.log4j.ConsoleAppender
    log4j.appender.SysOut.layout=org.apache.log4j.PatternLayout
    log4j.appender.SysOut.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

    #for log files everyday
    log4j.appender.Everyday=org.apache.log4j.DailyRollingFileAppender
    log4j.appender.Everyday.layout=org.apache.log4j.PatternLayout
    log4j.appender.Everyday.File=d://myloggers//log.log
    log4j.appender.Everyday.DatePattern='.'yyyy-MM-dd'.log'
    log4j.appender.Everyday.layout.ConversionPattern=%d [%t] %-5p %c - %m%n
    log4j.appender.Everyday.MaxFileSize=1024KB
    log4j.appender.Everyday.Encoding=UTF-8

    一、日志级别

      log4j.rootLogger=INFO,A1,B2,C3

      1、级别等级

        OFF > FATAL > ERROR > WARN > INFO > DEBUG > ALL

      2、级别含义

        OFF level: 是最高等级的,用于关闭所有日志记录

        FATAL level: 指出每个严重的错误事件将会导致应用程序的退出

        ERROR level: 指出虽然发生错误事件,但仍然不影响系统的继续运行.就是显示错误信息

        WARN level: 表明会出现潜在错误的情形,就是显示警告信息

        INFO level: 表明消息在粗粒度级别上突出强调应用程序的运行过程,就是输出提示信息

        DEBUG Level: 指出细粒度信息事件对调试应用程序是非常有帮助的,就是输出debug的信息

        ALL level: 是最低等级的,用于打开所有日志记录

        只输出级别不低于设定级别的日志信息,假设Loggers级别设定为INFO,则INFO、WARN、ERROR和FATAL级别的日志信息都会输出,而级别比INFO低的DEBUG则不会输出。

    二、日志信息输出目的地

      log4j.appender.appenderName = className

      1、appenderName:自定义appderName,在log4j.rootLogger设置中使用;

      2、className:可设值如下:

        1)org.apache.log4j.ConsoleAppender(控制台)

        2)org.apache.log4j.FileAppender(文件)

        3)org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)

        4)org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)

        5)org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

    三、配置日志信息的输出格式(Layout)

      log4j.appender.appenderName.layout=className

      className:可设值如下:

        1)org.apache.log4j.HTMLLayout(以HTML表格形式布局)

        2)org.apache.log4j.PatternLayout(可以灵活地指定布局模式)

        3)org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)

        4)org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

    四、格式化符号说明

      log4j.appender.appenderName.layout.ConversionPattern=%d [%t] %-5p %c - %m%n

      1)%p:输出日志信息的优先级,即DEBUG,INFO,WARN,ERROR,FATAL。

      2)%d:输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,如:%d{yyyy/MM/dd HH:mm:ss,SSS}。

      3)%r:输出自应用程序启动到输出该log信息耗费的毫秒数。

      4)%t:输出产生该日志事件的线程名。

      5)%l:输出日志事件的发生位置,相当于%c.%M(%F:%L)的组合,包括类全名、方法、文件名以及在代码中的行数。例如:test.TestLog4j.main(TestLog4j.java:10)  

      6)%c:输出日志信息所属的类目,通常就是所在类的全名。

      7)%M:输出产生日志信息的方法名。

      8)%F:输出日志消息产生时所在的文件名称。

      9)%L::输出代码中的行号。

      10)%m::输出代码中指定的具体日志信息。

      11)%n:输出一个回车换行符,Windows平台为"rn",Unix平台为"n"。

      12)%x:输出和当前线程相关联的NDC(嵌套诊断环境),尤其用到像java servlets这样的多客户多线程的应用中。

      13)%%:输出一个"%"字符。

      另外,还可以在%与格式字符之间加上修饰符来控制其最小长度、最大长度、和文本的对齐方式。如:

      1) c:指定输出category的名称,最小的长度是20,如果category的名称长度小于20的话,默认的情况下右对齐。

      2)%-20c:"-"号表示左对齐。

      3)%.30c:指定输出category的名称,最大的长度是30,如果category的名称长度大于30的话,就会将左边多出的字符截掉,但小于30的话也不会补空格。

      参考:http://www.cnblogs.com/ITtangtang/p/3926665.html

  • 相关阅读:
    使用supervisor做进程控制
    HDU 4272 LianLianKan [状态压缩DP]
    UVALive 4297 First Knight [期望+高斯消元(优化)]
    HDU 4269 Defend Jian Ge [模拟]
    POJ 2497 Widget Factory [高斯消元解同余方程组]
    HDU 2996 In case of failure [KD树]
    HDU 4268 Alice and Bob [贪心]
    HDU 4273 Rescue [三维几何]
    HDU 4267 A Simple Problem with Integers [树状数组]
    HDU 4271 Find Black Hand [最短编辑距离DP]
  • 原文地址:https://www.cnblogs.com/MIC2016/p/6767710.html
Copyright © 2020-2023  润新知