学习目标:
MyBatis中使用日志
学习内容:
使用日志
- 控制台使用日志
- lo4j的使用
学习时间:
学习产出:
1、日志工厂
logImpl 指定 MyBatis 所用日志的具体实现,未指定时将自动查找。
- SLF4J
- LOG4J
- LOG4J2
- JDK_LOGGING
- COMMONS_LOGGING
- STDOUT_LOGGING(控制台输出)
- NO_LOGGING
控制台输出日志:
mybatis-config.xml中加入下列语句:
<!--控制台输出日志-->
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
2、Log4j输出日志
maven导入log4j依赖
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
log4j.properties:
#将等级为DEBUG的日志信息输出到console和file这两个目的地,console和file的定义在下面的代码
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.appender_name.Encoding=UTF-8
#文件输出的相关设置
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./log/mybatis.log
log4j.appender.file.MaxFileSize=10mb
log4j.appender.file.Threshold=DEBUG
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%p][%d{yy-MM-dd}][%c]%m%n
#日志输出级别
log4j.logger.org.mybatis=DEBUG
log4j.logger.java.sql=DEBUG
log4j.logger.java.sql.Statement=DEBUG
log4j.logger.java.sql.ResultSet=DEBUG
log4j.logger.java.sql.PreparedStatement=DEBUG
测试:
//日志对象
static Logger logger = Logger.getLogger(UserMapperTest.class);
@Test
public void MyTest() {
SqlSession sqlSession = MyBatisUtil.getSqlSession();
//在项目中使用日志抛出提示
logger.info("info:进入了MyTest");
UserMapper mapper = sqlSession.getMapper(UserMapper.class);
User user = mapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
@Test
public void TestLog4j() {
logger.info("info:进入TestLog4j");
logger.debug("debug:进入log4j");
logger.error("error:进入log4j");
}