Mybatis 日志工厂-LOG4J

日志

日志工厂

如果一个数据库操作出现了异常,要进行排错,日志是一个好工具

曾经是:sout,debug

现在是日志工厂image-20200817103210998

在mybatis-config.xml中的settings有这么一个设置,logImpl

  • SL4J 重点
  • LOG4J
  • LOG4J2
  • JDK_LOGGING Java自带的日志输出
  • STDOUT_LOGGING 工具包日志输出
  • NO_LOGGING 不输出日志

mybatis中具体使用哪一个日志实现,在设置中设定

stdout_logging标准日志输出

添加logImpl设置

设置在mybatis-config.xml中的设置需要按照规则顺序来
忘记了顺序能故意打错,等报错看

image-20200817104153286

要放在properties和typeAliases的中间

添加设置的时候最好直接从官方文档复制,不要靠脑子记,打错任何一点都会报错

logImpl设置文档

image-20200817105226536

比如这一段logImpl打错了,表面是不会报错的,运行的时候就会出问题

image-20200817105317505

到了这里还很难找

image-20200817105343600

下面一句会有The setting LogImpl is not know,看到下面才能知道他给的错误提示

<settings>
    <setting name="logImpl" value="STDOUT_LOGGING"/>
</settings>

所以不要打错,多一个空格都不行

image-20200817110542624

  • 从opening开始读,打开jdbc连接
  • 创建connection
  • 设置自动提交为false
  • 预编译sql
  • 传递的参数parameter 1个 integer类型
  • 查询的列
  • 查询的行
  • 总共有几条记录
  • 最后才是结果
  • returned connection 返回到数据库连接池pool

Log4J

可以将日志输出到控制台、文件、GUI组件

  • 可以设置每一条的输出格式
  • 设置日志级别
  • 开于通过配置文件配置

主要操作

  1. 导入包

  2. <!-- https://mvnrepository.com/artifact/log4j/log4j -->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>
    
  3. 添加配置文件,面向百度编程,搜索log4j的properties

  4. #将等级得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.ConversionPattern=[%c]-%m%n
    
    #文件输出的相关设置
    log4j.appender.file=org.apache.log4j.RollingFileAppender
    log4j.appender.file.File=./log/haoyun.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
    
  5. <settings>
        <setting name="logImpl" value="LOG4J"/>
    </settings>
    
  6. image-20200817214013044

  7. 主要内容还是类似的

简单使用

  • 导入包的时候要注意不要导错包了,要导入apache的log4j

  • public class UserMapperTest {
        static Logger logger = Logger.getLogger(UserMapperTest.class);
    
  • image-20200817214441811

  • public void log4jTest(){
        logger.info("info:Test");
        logger.debug("debug:Test");
        logger.error("error:Test");
    }
    
  • image-20200817214926730

  • 打开看日志文件

  • image-20200817215058024

  • image-20200817215031963

  • 就是比较清晰明了,工作中要多使用

  • image-20200817220327707

  • 还有其他的日志级别,自己去学习

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值