一、编写日志输出环境配置文件

  在开发过程中,最重要的就是在控制台查看程序输出的日志信息,在这里我们选择使用 log4j 工具来输出:

  • 准备工作:将【MyBatis】文件夹下【lib】中的 log4j 开头的 jar 包都导入工程并添加依赖。 在【src】下新建一个文件 log4j.properties 资源:
# Global logging configuration
# 在开发环境下日志级别要设置成 DEBUG ,生产环境设为 INFO 或 ERROR
log4j.rootLogger=DEBUG, stdout
# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

log4j.rootLogger=DEBUG, stdout

  • 指的是日志输出级别,一共有 7 个级别(OFF、 FATAL、 ERROR、 WARN、 INFO、 DEBUG、 ALL)
  • 一般常用的日志输出级别分别为 DEBUG、 INFO、 ERROR 以及 WARN,分别表示 “调试级别”、 “标准信息级别”、 “错误级别”、 “异常级别”。如果需要查看程序运行的详细步骤信息,一般选择 “DEBUG” 级别,因为该级别在程序运行期间,会在控制台才打印出底层的运行信息,以及在程序中使用 Log 对象打印出调试信息。
  • 如果是日常的运行,选择 “INFO” 级别,该级别会在控制台打印出程序运行的主要步骤信息。“ERROR” 和 “WARN” 级别分别代表 “不影响程序运行的错误事件” 和 “潜在的错误情形”。
  • 文件中 “stdout” 这段配置的意思就是将 DEBUG 的日志信息输出到 stdout 参数所指定的输出载体中

log4j.appender.stdout=org.apache.log4j.ConsoleAppender

设置名为 stdout 的输出端载体是哪种类型.目前输出载体有

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

这里要将日志打印到 IDEA 的控制台,所以选择 ConsoleAppender

log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

含义是,名为 stdout 的输出载体的 layout(即界面布局)是哪种类型。目前输出端的界面类型分为

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

这里选择灵活指定其布局类型,即自己去配置布局。

log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n

含义是,如果 layout 界面布局选择了 PatternLayout 灵活布局类型,要指定的打印信息的具体格式。格式信息配置元素大致如下:

  • %m
  • %p
  • %r 输出自应用启动到输出该 log 信息耗费的毫秒数
  • %c
  • %t 输出产生该日志事件的线程名
  • %n
  • %d输出日志时的时间或日期,默认个事为 ISO8601,也可以在其后指定格式,比如 %d{yyy MMM dd HH:mm:ss},输出类似:2018 年 4 月18 日 10:32:00
  • %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数