一、编写日志输出环境配置文件
在开发过程中,最重要的就是在控制台查看程序输出的日志信息,在这里我们选择使用 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 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数