mybatis中可使用的日志工厂如下:
SLF4J
LOG4J(掌握)
LOG4J2
JDK_LOGGING
COMMONS_LOGGING
STDOUT_LOGGING(掌握)
NO_LOGGING
STDOUT_LOGGING的使用
在mybatis_config.xml(即mybatis核心配置文件中进行配置)进行一下配置即可。
<!-- value的属性值是决定使用哪种日志工厂 --> <settings> <setting name="logImpl" value="LOG4J"/> </settings>
配置后控制台输出日志信息如下:
LOG4J的使用
LOG4J的使用不像STDOUT_LOGGING一样的简单,需要在pom文件中导入LOG4J的依赖
<dependencies>
<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
</dependencies>
并且在资源目录下配置log4j.properties(注意文件名不要写错了,不然读取不到),配置内容如下:
### 配置根 ###
log4j.rootLogger = debug,console,file
### 配置输出到控制台 ###
log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold = DEBUG
log4j.appender.console.layout = org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern = [%c]-%m%n
### 配置输出到文件 ###
log4j.appender.file = org.apache.log4j.FileAppender
log4j.appender.file.File = ./log/study.log
log4j.appender.file.Threshold = DEBUG
log4j.appender.file.layout = org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern = [%p][%d{yyyy-MM--dd}][%c]%m%n
### 日志输出级别 ###
log4j.logger.org.mybatis=dubug
log4j.logger.java.sql=dubug
log4j.logger.java.sql.Statement=dubug
log4j.logger.java.sql.PreparedStatement=dubug
log4j.logger.java.sql.ResultSet=dubug
最后,在需要使用的日志的类中添加以下代码,用以调用日志方法
//放在类的开头即可
static Logger logger = Logger.getLogger(test01.class);
需要在方法中输出日志信息时的调用方法
@Test
public void test1(){
SqlSession sqlSession = MyBatisUtils.getSqlSession();
UserMapper u = sqlSession.getMapper(UserMapper.class);
System.out.println(u.getUser());
//输出日志信息
logger.info("日志输出");
sqlSession.close();
}