zoukankan      html  css  js  c++  java
  • log4j常用配置说明

    日志输出级别(Level)

    • ERROR    # 错误
    • WARN    # 一般警告
    • INFO    # 程序提示信息
    • DEBUG    # 程序调试信息

    配置日志信息输出目的地(Appender)

    log4j.appender.{appenderName}={appender}

    appender取值如下

    • org.apache.log4j.ConsoleAppender(控制台)
    • org.apache.log4j.FileAppender(文件)
    • org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件)
    • org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件)
    • org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

    ConsoleAppender选项

    Threshold=DEBUG    # 指定日志消息的输出最低层次。
    ImmediateFlush=true    # 所有的消息是否会被立即输出,默认值是true。
    Target=System.err    # 指定输出控制台,默认值是System.out。

    FileAppender 选项

    Threshold=DEBUG    # 指定日志消息的输出最低层次。
    ImmediateFlush=true    # 所有的消息是否会被立即输出,默认值是true。
    File=log.txt    # 指定消息输出到log.txt文件。
    Append=false    # true表示将消息增加到指定文件中,false表示将消息覆盖指定的文件内容,默认值是true。

    RollingFileAppender 选项

    Threshold=DEBUG    # 指定日志消息的输出最低层次。
    ImmediateFlush=true    # 所有的消息是否会被立即输出,默认值是true
    File=log.txt    # 指定消息输出到log.txt文件。
    Append=false    # true表示将消息增加到指定文件中,false表示将消息覆盖指定的文件内容,默认值是true。
    MaxFileSize=2MB    # 后缀可以是KB, MB 或者是 GB. 在日志文件到达该大小时,将会自动滚动,即将原来的内容移到log.log.1文件。
    MaxBackupIndex=4    # 指定可以产生的滚动文件的最大数。

    配置日志信息的格式(Layout)

    log4j.appender.{appenderName}.layout={layout}

    layout取值如下

    1. org.apache.log4j.HTMLLayout(以HTML表格形式布局)
    2. org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
    3. org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串)
    4. org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)

    org.apache.log4j.PatternLayout选项

    log4j.appender.stdout.layout.ConversionPattern={pattern}

    pattern组成部分

    %m 输出代码中指定的消息

    %p 输出日志级别,即DEBUG,INFO,WARN,ERROR,FATAL

    %r 输出自应用启动到输出该log信息耗费的毫秒数

    %c 输出所属的类目,通常就是所在类的全名

    %t 输出产生该日志事件的线程名

    %n 输出一个回车换行符,Windows平台为“rn”,Unix平台为“n”

    %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyyy MMM dd HH:mm:ss,SSS},输出类似:2002年10月18日 22:10:28,921

    %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

    Level和Appender映射

    log4j.rootLogger = [level],appenderName,appenderName2,...、

    此配置表示什么level的日志要输出到什么appender,如下示例

    log4j.rootLogger=DEBUG,D,E    # 将DEBUG级别日志输出到name为D,E的appender中

    log4j.rootLogger=INFO,I   # 将DEBUG级别日志输出到name为I的appender中

    一个示例

    log4j.rootLogger=DEBUG,D,E
    
    log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
    log4j.appender.D.File = logs/logs.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 = 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
    
  • 相关阅读:
    【Flutter学习】之绘画实例(二)
    【Flutter学习】之绘画实例(一)
    【Flutter学习】之动画实现原理浅析(三)
    【Flutter学习】之动画实现原理浅析(二)
    NopCommerce支持多种类型的数据库
    NopCommerce 多数据库方案
    开发程序需要注意的点
    基于SVN的项目管理——集中与分散
    JS代码优化小技巧
    开发日记:中控PUSH协议
  • 原文地址:https://www.cnblogs.com/seastar1989/p/7651022.html
Copyright © 2011-2022 走看看