使用log4j的三个步骤
- 导入log4j.jar
- 配置conf.xml
<settings>
<!-- 开启并指定使用的日志类型 -->
<setting name="logImpl" value="LOG4J"/>
</settings>
若此处没有指定日志类型,则mybatis会按照SLF4J →Apache Commons Logging →Log4j 2 → Log4j →JDK logging的顺序查找日志
- 在src中增加Log4j.properties文件
log4j.rootLogger=DEBUG, stdout
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.properties配置文件
配置跟logger
log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …
level指定日志级别,mybatis 推荐4种日志级别
-
DEBUG
DEBUG Level指出细粒度信息事件对调试应用程序是非常有帮助的。 -
INFO
INFO level表明 消息在粗粒度级别上突出强调应用程序的运行过程。 -
WARN
WARN level表明会出现潜在错误的情形。 -
ERROR
ERROR level指出虽然发生错误事件,但仍然不影响系统的继续运行。
设置级别后,只显示该级别以及该级别以上的信息
appender输出目的地
- org.apache.log4j.ConsoleAppender(控制台),
- org.apache.log4j.FileAppender(文件),
- org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
- org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
- org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)
layout日志输出格式
- org.apache.log4j.HTMLLayout(以HTML表格形式布局),
- org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
- org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
- org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
打印参数
- %m 输出代码中指定的消息
- %p 输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL
- %r 输出自应用启动到输出该log信息耗费的毫秒数
- %c 输出所属的类目,通常就是所在类的全名
- %t 输出产生该日志事件的线程名
- %n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n”
- %d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS},输出类似:2002年10月18日 22 : 10 : 28 , 921
- %l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。举例:Testlog4.main(TestLog4.java: 10 )