本文目的:了解日志文件在数据库操作中发挥的作用与简单的应用!
-
为何使用日志文件?
记录每一次对数据库的操作动作,日后如果出现问题,可以查阅日志寻找哪一步操作有问题。 -
有哪些日志可以使用?
SLF4J
LOG4J【掌握】
LOG4J2
JDK_LOGGING
COMMONS_LOGGING
STDOUT_LOGGING (标准日志输出)【掌握】
NO_LOGGING -
怎么使用?
3.1 STDOUT_LOGGING:
这个日志非常容易使用,只需要一行代码就可以解决。在pom文件下配置setting标签:
<settings>
<setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>
3.2. LOG4J:
在pom文件中导入依赖:
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
</dependency>
在resource文件下配置LOG4J文件
建立log4j.perproties文件,导入配置信息:
#将等级为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
配置setting标签:
<settings>
<setting name="logImpl" value="LOG4J"/>
</settings>
测试:
public class UserDaoTest {
//定义为全局变量,调用Logger的getlogger方法,传入该测试类反射对象
static Logger logger = Logger.getLogger(UserDaoTest.class);
@Test
//查询id为1的用户信息
public void getUserById(){
SqlSession sqlSession = MybatisUtils.getSqlSession();
//info:写入数据,相当于sout
logger.info("info:进入selectUser方法");
UserMapper userMapper = sqlSession.getMapper(UserMapper.class);
User user = userMapper.getUserById(1);
System.out.println(user);
sqlSession.close();
}
@Test
public void log4jTest(){
logger.info("info:进入selectUser方法");
logger.debug("debug:进入selectUser方法");
logger.error("error:进入selectUser方法");
}
}