mybatis日志工厂

前言:

如果一个数据库操作,出现异常,我们需要排错,日志就是最好的助手

官方给我们提供了logImpl:指定 MyBatis 所用日志的具体实现,未指定时将自动查找。

默认工厂:

在配置文件里添加:

java 复制代码
<!--配置日志-->
    <settings>
        <setting name="logImpl" value="STDOUT_LOGGING"/>
    </settings>

若要使用非标准日志需要先导包,例如Log4j

导入包:

java 复制代码
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

log4j

先在pom.xml文件里导入依赖:

java 复制代码
    <dependencies>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
    </dependencies>

编写log4j配置文件:

java 复制代码
#将等级为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

配置:

XML 复制代码
<!--配置日志-->
    <settings>
<!--        标准日志工厂实现-->
<!--        <setting name="logImpl" value="STDOUT_LOGGING"/>-->
<!--        log4j日志-->
        <setting name="logImpl" value="LOG4J"/>
    </settings>

1.在要使用的地方导入包:import org.apache.log4j.Logger;

2.日志对象,参数为当前类的class

java 复制代码
 static Logger logger=Logger.getLogger(UserDaoTest.class);
  

进行测试:

之后会自动生成日志文件

相关推荐
Klong.k4 小时前
Mybatis-plus中Save()方法的注意点
mybatis
小北方城市网4 小时前
SpringBoot 集成 RabbitMQ 实战(消息队列):实现异步通信与系统解耦
java·spring boot·后端·spring·rabbitmq·mybatis·java-rabbitmq
BD_Marathon5 小时前
动态SQL(四) choose、when、otherwise
mybatis
阿杰 AJie6 小时前
MyBatis-Plus 比较运算符
java·数据库·mybatis
皙然7 小时前
MyBatis 执行流程源码级深度解析:从 Mapper 接口到 SQL 执行的全链路逻辑
数据库·sql·mybatis
这儿有个昵称7 小时前
Java大厂面试实录:从Spring MVC到微服务的技术深度探讨
java·redis·spring·mybatis·spring security·spring mvc·oauth2
一直都在5727 小时前
Spring3整合MyBatis实现分页查询和搜索
mybatis
色空大师1 天前
mybatis动态sql
sql·mybatis·foreach·where·sql动态语法
BD_Marathon1 天前
自定义映射resultMap——通过collection解决一对多的映射关系(九)
mybatis
码农幻想梦1 天前
实验四 mybatis动态sql及逆向工程
sql·性能优化·mybatis