1. 日志

  • Logger.getLogger(类 字节码): 使用log4j的api获取日志对象 不推荐使用
  • LoggerFactory.getLogger(类 字节码): 使用slf4j的api获取日志对象

2. 记录器

  • DEBUG
  • INFO
  • WARN
  • EEROR
  • FATAL

配置规则:只输出级别不低于设定级别的日志信息

3. 配置

创建 log4j.properties 文件

3.1. 根Logger

log4j.rootLogger=日志级别,appenderName1,appenderName2,…

日志级别:OFF、FATAL、EEROR、WARN、INFO、DEBUG、ALL或者自定义级别

appenderName1:指定日志信息要输出到哪里,可以同时指定多个输出目的地

如:log4j.rootLogger=info,ca,fa

3.2. appender

org.apache.log4j.ConsoleAppender:输出到控制台

org.apache.log4j.FileAppender:输出到文件

如:log4j.appender.ca=org.apache.log4j.ConsoleAppender

3.2.1. 控制台

  • ImmediateFlush=true: 所有消息都会被立即输出,默认为true,false不输出
  • Target=System.err: 默认值为System.out 在控制台打印时显示的颜色级别 err为红色警告 默认为黑色

如:

  1. log4j.appender.ca.ImmediateFlush=true
  2. log4j.appender.ca.Target=System.out

3.2.2. 文件

  • ImmediateFlush=true: 所有消息都会被立即输出,默认为true,false不输出
  • Append=false: 默认值为true, true为将日志追加到文件中,false为覆盖写入
  • File=路径: 将信息输出到指定的logging.log4j文件中

如:

  1. log4j.appender.ca.ImmediateFlush=true
  2. log4j.appender.ca.Append=true
  3. log4j.appender.ca.File=D:/

3.3. Layout

  • org.apache.log4j.PatternLayout: 自定义布局模式 比较常用

    • ConversionPattern=%m%n : 自定义规则
    • 43. 日志 - 图1
  • org.apache.log4j.SimpleLayout: 包含日志信息的级别和信息字符串
  • org.apache.log4j.TTCCLayout: 包含日志产生时间 线程 类别 等信息

如: log4j.appender.ca.layout=org.apache.log4j.PatternLayout