Mybatis的日志工厂

尤其是在数据库代码(SQL语句)编写错误时,经常不容易发现错误,一个好的办法就是将sql语句在执行时也能打印出来,以便及时发现错误,以往经常使用的方法是:

  • 使用System.out.println();将需要的信息输出到控制台;

  • debug

推荐实现mybatis的日志工厂!在执行代码时,能够输出完整的执行过程,便于排错。

设置方式

在xml配置文件中添加设置标签,名称为“logImpl”,value值有许多种,这里介绍LOG4J 和 STDOUT_LOGGING,其中 STDOUT_LOGGING是标准输出日志。

所有的value值:

  • SLF4J

  • LOG4J (√)

  • LOG4J2

  • JDK_LOGGING

  • COMMONS_LOGGING

  • STDOUT_LOGGING(√)

  • NO_LOGGING

STDOUT_LOGGING的使用方式

配置源代码:

<settings>
  <setting name="logImpl" value="STDOUT_LOGGING"/>        <!--标准输出日志-->
</settings>

测试即可!

LOG4J

LOG4J的好处:

  • 可以控制日志信息输送的目的地是控制台、文件、GUI组件(甚至是套接口服务器、NT的事件记录器、UNIX Syslog守护进程);

  • 可以控制每一条日志的输出格式;

  • 可以定义每一条日志信息的级别。

使用方法:

1.导入LOG4J的依赖包:

<!-- https://mvnrepository.com/artifact/log4j/log4j -->
<dependency>
    <groupId>log4j</groupId>
    <artifactId>log4j</artifactId>
    <version>1.2.17</version>
</dependency>

2.建立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/log.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

3.设置LOG4J为日志的实现

<settings>
    <!--<setting name="logImpl" value="STDOUT_LOGGING"/>        &lt;!&ndash;标准输出日志&ndash;&gt;-->
    <setting name="logImpl" value="LOG4J"/>         <!--LOG4J-->
</settings>

进行测试即可。

LOG4J的简单使用
  • 编写测试类:(导入的包为import org.apache.log4j.Logger;)

@Test
public void TestLog4j(){
    logger.debug("debug:进入了LOG4J");
    logger.info("info:进入了LOG4J");
    logger.error("error::进入了LOG4J");
}

执行即可。

附部分常用日志级别:

logger.debug("debug:进入了LOG4J");
logger.info("info:进入了LOG4J");
logger.error("error::进入了LOG4J");

 

 

上一篇:Java_log_按日期滚动和按文件大小滚动


下一篇:Spring Boot 各种日志框架记录方式