1.日志
1.日志工厂
-
如果一个数据库的操作,出现了异常,需要排错,那么日志就是最好的帮手。
-
根据mybatis文档setting(设置)
-
LOG4J (掌握)
-
STDOUT_LOGGING(掌握)(默认的标准的日志工厂)
2.开始编写
2.1 使用STDOUT_LOGGING默认日志工厂
-
写在"引入外部配置文件"的下面。
-
mybatis-config.xml代码:
-
<?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核心配置文件 --> <configuration> <!-- 引入外部(db.properties)配置文件--> <properties resource="db.properties"/> <!-- 使用标准的默认的日志工厂--> <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> </configuration>
日志的一些核心东西:
2.2 使用LOG4J日志工厂
-
什么是log4j?
-
导入LOG4J的jar:
<!-- https://mvnrepository.com/artifact/log4j/log4j --> <dependency> <groupId>log4j</groupId> <artifactId>log4j</artifactId> <version>1.2.17</version> </dependency>
-
在resource文件夹中创建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.file = org.apache.log4j.RollingFileAppender log4j.appender.file.File=./log/kuang.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
-
在mybatis-config.xml中加入配置,代码:
<?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核心配置文件 --> <configuration> <!-- 引入外部(db.properties)配置文件--> <properties resource="db.properties"/> <!-- 使用STDOUT_LOGGING标准的默认的日志工厂 <settings> <setting name="logImpl" value="STDOUT_LOGGING"/> </settings> --> <!-- 使用log4j日志工厂--> <settings> <setting name="logImpl" value="LOG4J"/> </settings> </configuration>
结果:
简单使用:
1.在使用Log4j的类中,导入包import org.apache.log4j.Logger;
2.日志的参数为当前类.class
static Logger logger = Logger.getLogger(UserDaoTest.class);
3.在测试类代码:
package edu.xalead.dao;
import edu.xalead.pojo.User;
import edu.xalead.utils.MybatisUtils;
import org.apache.ibatis.session.SqlSession;
import org.apache.log4j.Logger;
import org.junit.Test;
public class UserDaoTest {
static Logger logger = Logger.getLogger(UserDaoTest.class);
@Test
public void getUserById(){
SqlSession session = MybatisUtils.getSqlSession();
UserMapper userMapper = session.getMapper(UserMapper.class);
User user = userMapper.getUserById(1);
System.out.println(user.toString());
session.close();
}
@Test
public void testLog4j(){
logger.info("info:进入了testLog4");
logger.debug("debug:进入了testLog4j");
logger.error("error:进入了testLog4j");
}
}
在当前文件目录下生成一个log日志文件,运行testLog4j()方法时,将结果存在在log日志文件中