Log4j是由Apache推出的开源免费日志处理的类库。可以在全局配置文件mybatis.xml中通过<settings>
标签控制mybatis全局开关。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE configuration
PUBLIC "-//mybatis.org//DTD Config 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-config.dtd">
<configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
<typeAliases>
<package name="com.test.pojo" />
</typeAliases>
<!-- default引用environment的id,当前所使用的环境 -->
<environments default="default">
<!-- 声明可以使用的环境 -->
<environment id="default">
<!-- 使用原生JDBC事务 -->
<transactionManager type="JDBC"></transactionManager>
<dataSource type="POOLED">
<property name="driver" value="com.mysql.cj.jdbc.Driver"/>
<property name="url" value="jdbc:mysql://localhost:3306/test?useSSL=false&serverTimezone=UTC"/>
<property name="username" value="root"/>
<property name="password" value="123456"/>
</dataSource>
</environment>
</environments>
<mappers>
<mapper resource="com/test/mapper/PeopleMapper.xml"/>
<mapper resource="com/test/mapper/PeopleMapper2.xml"/>
</mappers>
</configuration>
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
上述标签是配置了mybatis中日志的实现是log4j,配置完mybatis.xml文件后还需要导入log4j的jar包。
并且要在src下新建log4j.properties(路径和名称都不允许改变),用于配置log4j。
log4j.rootCategory=ERROR, CONSOLE ,LOGFILE
log4j.logger.a.b=DEBUG
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%C %p %m %n
log4j.appender.LOGFILE=org.apache.log4j.FileAppender
//log4j.appender.LOGFILE.File=E:/my.log
log4j.appender.LOGFILE.Append=true
log4j.appender.LOGFILE.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE.layout.ConversionPattern=%C %m %L %n
在log4j.properties中第一行“log4j.rootCategory=ERROR, CONSOLE ,LOGFILE”用于控制日志的输出级别和输出的目的地,其中“ERROR”表示输出的日志信息的级别是error级别,“CONSOLE ”表示日志会输出到控制台,“LOGFILE”表示日志信息也会输出到日志文件中。
在log4j中日志的输出级别为:fatal(致命错误) > error (错误) > warn (警告) > info(普通信息) > debug(调试信息)。
还可以单独控制某个模块下的日志级别,例如上述例子中“log4j.logger.a.b=DEBUG”声明了
“a.b”mapper下的日志输出级别为debug。