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
    
  • 相关阅读:
    解决:Could not resolve archetype org.apache.maven.archetypes
    Spring MVC配置MyBatis输出SQL
    Spring集成MyBatis 通用Mapper以及 pagehelper分页插件
    关于SpringMVC或Struts2接受参数接收不到的原因
    配置quartz启动时就执行一次
    ajaxFileUpload进行文件上传时,总是进入error
    spring mvc注入配置文件里的属性
    java中将一个文件夹下所有的文件压缩成一个文件
    flume failed to start agent because dependencies were not found in classpath
    ubuntu不能安装pip unable to install pip in unbuntu
  • 原文地址:https://www.cnblogs.com/seastar1989/p/7651022.html
Copyright © 2011-2022 走看看