log4j 日志配置

log4j 日志配置


[TOC]

参考:http://blog.sina.com.cn/s/blog_5ed94d710101go3u.html

1. 配置根Logger:

  • 语法:
    log4j.rootLogger = [level], appenderName1, appenderName2
  • level:
    日志等级,从小到大以此为:OFF、TRACE、DEBUG、INFO、WARN、ERROR、FATAL、ALL
    Log4j建议只用 DEBUG、INFO、WARN、ERROR四个等级
  • appender
    指定日志输出的地方: 名字可以随意去,一般推荐有ConsoleAppender 控制台、DollingFile回滚文件、

2. 配置Appender

  • 语法
    log4j.appender.appenderName=fully.qualified.name.of.appender.class
    log4j.appender.appenderName.optionN=valueN
  • log4j提供的appender:
    • org.apache.log4j.ConsoleAppender 输出到控制台
    • org.apache.log4j.FileAppender 输出到文件
    • org.apache.log4j.DailyRollingFileAppender 每天产生一个日志文件
    • org.apache.log4j.RollingFileAppender 文件达到一定大小后产生一个文件
    • org.apache.log4j.WriteAppender 将日志以流的格式发送到指定地方

3. 各个Appender的属性

通用属性

  • Threshold: 指定日至输出级别

  • layout 日志输出样式

    • org.apache.log4j.HTMLLayout 以HTML形式布局
    • org.apache.log4j.PatternLayout 可以灵活的制定布局
    • org.apache.log4j.SimpleLayout 包含信息级别与信息字符串
    • org.apache.log4j.TTCCLayout 日志产生的时间、线程、类别等信息
    • org.apache.log4j.xml.XMLLayout 以XML形式布局
  • PatternLayout属性:

    • ConversionPattern: 格式化指定信息
      • %m 输出代码中指定信息
      • %p 输出优先级
      • %r 输出自应用启动到出书该log信息耗费的毫秒数
      • %c 输出所属类的全名
      • %t 输出残生该日志文件的线程
      • %n 输出一个回车换行符
      • %d 输出日志时间点的日期时间 可指定格式 %d{yyyy年MM月dd日 HH:mm:sss,SSS}
      • %l 输出日志事件发生的位置 包括:类名、线程、在代码中的行数(如:TestLog.main(TestLog.java:10))
      • %F 输出日志消息陈胜时所在文件名称
      • %L 输出代码所在行号
      • %x 输出和当前线程相关联的NDC(嵌套诊断环境)
      • %% 输出一个%符号
    • 可以在%与模式字符之间加上修饰符来控制其最小宽度、最大宽度、和文本的对齐方式。如:
      • %5c: 输出category名称,最小宽度5 默认右对齐
      • %-5c: 输出category名称,最小宽度5 "-"号指定左对齐,会有空格
      • %.5c: 输出category名称,最大宽度是5,category>5,就会将左边多出的字符截掉
      • %20.30c: category名称, 20补空格,并且右对齐,>30字符,就从左边交远销出的字符截掉
  • ImmediateFlush 所有的消息都会被立即输出,默认为true

  • Encoding UTF-8 文件编码方式

ConsoleAppender 属性

  • Target = System.err:默认值System.out,输出到控制台(err为红色,out为黑色)

DailyRollingFileAppender属性

  • File = ../logs/bim/bim.log 指定消息输出到文件
  • Appender = TRUE 默认为true,true附加到文件末尾 false覆盖
  • DatePattern 文件滚动配置
    • yyyy-ww 每周滚动一次
    • yyyy-MM 每月
    • yyyy-MM-dd 每天
    • yyyy-MM-dd-a:每天两次
    • yyyy-MM-dd-HH 每小时
    • yyyy-MM-dd-HH-mm 每分钟

RollingFileAppender属性

  • File 输出文件
  • Append true附加到文件末尾 false覆盖
  • MaxFileSize 文件最大值,大于则自动滚动,后缀可以是KB, MB ,GB
  • MaxBackupIndex 指定可以产生滚动文件最大数量

你可能感兴趣的:(log4j 日志配置)