最近用thymeleaf模板引擎的时候,发现sql 的日志输出不了,普通ssm框架搭建没问题,能输出sql日志,可是在使用thymeleaf引擎后,就发现用不了。

现在找到一种解决方法,

导入jar包

    <dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.7.21</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.7.21</version>
</dependency>

 mybatis.xml文件中加入sql输出配置。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"
debug="false"> <!-- 将日志信息输出到控制台 -->
<appender name="stdout" class="org.apache.log4j.ConsoleAppender">
<!-- 设置日志输出的样式 --> <layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志输出的格式 -->
<!-- <param name="ConversionPattern" value="[%d{yyyy-MM-dd HH:mm:ss:SSS}] [%-5p] [method:%l]%n%m%n%n" /> -->
<!-- <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] [method:%l]%m%n"/> -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] (%c:%L)- %m%n"/><!-- 输出方法名 -->
<!-- <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] [%c] -%m%n"/> -->
<!-- 设置日志输出级别,开发可以设置为debug,正式上线可以用info -->
<param name="Threshold" value="DEBUG"></param>
</layout>
</appender> <!-- 输出日志到文件 每天一个文件 -->
<appender name="logfile" class="org.apache.log4j.DailyRollingFileAppender">
<param name="Threshold" value="info"></param>
<!-- 设置日志信息输出文件全路径名 -->
<param name="File" value="D:/log4j/logs/logFile.log" />
<!-- 设置日志以天为单位回滚一次,即产生一个新的日志文件 -->
<param name="DatePattern" value="'.'yyyy-MM-dd'.log'" />
<!-- 设置日志输出的样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志输出的格式 -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] (%c)- %m%n" />
</layout>
</appender>
<!-- 设置日志缓存,及缓存大小 和日志的异步输出 -->
<appender name="async" class="org.apache.log4j.AsyncAppender">
<param name="BufferedIO" value="true"/>
<param name="BufferSize" value="512"/>
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
</appender> <!-- 输出日志到文件 文件大小到达指定尺寸的时候产生一个新的文件 -->
<!-- 将日志信息输出到文件,但是当文件的大小达到某个阈值的时候,日志文件会自动回滚 -->
<appender name="railyFile" class="org.apache.log4j.RollingFileAppender">
<!-- 设置日志信息输出文件全路径名 -->
<param name="File" value="D:/log4j/logs/logFile2.log" />
<!-- 设置是否在重新启动服务时,在原有日志的基础添加新日志
<param name="Append" value="true" /> -->
<!-- 设置保存备份回滚日志的最大个数 -->
<param name="MaxBackupIndex" value="10" />
<!-- 设置当日志文件达到此阈值的时候自动回滚,单位可以是KB,MB,GB,默认单位是KB -->
<param name="MaxFileSize" value="10MB" />
<!-- 设置日志输出的样式 -->
<layout class="org.apache.log4j.PatternLayout">
<!-- 设置日志输出的格式 -->
<param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p] (%c)- %m%n" />
</layout>
</appender> <!-- 设置日志缓存,及缓存大小 -->
<appender name="railyFileappender" class="org.apache.log4j.AsyncAppender">
<param name="BufferSize" value="512"/>
<appender-ref ref="railyFile"/>
</appender>
<!-- 整体设置日志的输出级别 -->
<!-- 下面是打印 mybatis语句的配置,完成和thymeleaf的不兼容问题-->
<logger name="com.ibatis" additivity="true">
<level value="DEBUG" />
</logger> <logger name="java.sql.Connection" additivity="true">
<level value="DEBUG" />
</logger> <logger name="java.sql.Statement" additivity="true">
<level value="DEBUG" />
</logger> <logger name="java.sql.PreparedStatement" additivity="true">
<level value="DEBUG" />
</logger> <logger name="java.sql.ResultSet" additivity="true">
<level value="DEBUG" />
</logger>
<root>
<level value="DEBUG" />
<appender-ref ref="stdout"/>
<appender-ref ref="logfile"/>
<appender-ref ref="railyFile"/>
</root>
</log4j:configuration>

  

Log4j和thymeleaf结合导致sql 日志输出不了的更多相关文章

  1. SpringBoot打印MyBatis sql日志输出

    SpringBoot打印MyBatis sql日志输出 默认情况下mybatis是不开启SQL日志输出,需要手动配置 方法一:(在mybatis整合在springboot框架的情况下) 只需要在配置文 ...

  2. Java学习-046-日志抓取合并后排序问题解决方案之 --- log4j 二次定制,实现日志输出添加延时10ms

    自3月25至今,已经好久没有写学习日志了,今天在写日志抓取合并的小方法,发现抓取后的日志并米有依据系统执行的日志顺序排序.日志抓取排列逻辑如下: 通过日志标识,从各个日志文件(例如 use.log,e ...

  3. log4j日志输出使用教程

    Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优先级.日志信息的输出目的地以及日志信息的输出格式.Log4j除了可以记录程序运行日志信息外还有一 ...

  4. log4j日志输出使用_1

    转自https://www.cnblogs.com/sky230/p/5759831.html Log4j是帮助开发人员进行日志输出管理的API类库.它最重要的特点就可以配置文件灵活的设置日志信息的优 ...

  5. log4j控制指定包下的日志

    最近观察日志发现如下两个问题: 1.项目用的是springboot项目,整合了rabbitmq,项目启动后,会自动监控rabbitmq谅解是否正常,导致控制台一直输出监控日志,此时就想阻止该类日志输出 ...

  6. springboot 学习之路 4(日志输出)

    目录:[持续更新.....] spring 部分常用注解 spring boot 学习之路1(简单入门) spring boot 学习之路2(注解介绍) spring boot 学习之路3( 集成my ...

  7. ibatis配置log4j输出sql日志信息

    为了在开发过程更加直观,我们需要将ibatis日志打开以便观察ibatis运作的细节. ibatis采用Apache common_logging,并结合Apache log4j作为日志输出组件. 在 ...

  8. log4j日志优先级导致的不输出日志

    在sae部署微信代码的时候,发现它的默认日志很不友好,看起来很费劲,详细看了一下说明发现它可以根据log4j的输出级别而分类输出,就拖了一个log4j的xml文件扔进项目代码,然后部署运行,发现没有日 ...

  9. log4j日志输出到文件的配置

    1.Maven的dependency 2.log4j.properties的配置 3.Junit的Test类 4.web.xml的配置(非必要) 5.spring的db.config的配置(非必要) ...

随机推荐

  1. HTTP协议是如何通信的

    一.什么是HTTP协议 HTTP协议是HyperText Transfer Protocol的缩写,即超文本传输协议.是由w3c(万维网联盟)制定的一种应用层协议,用来定义浏览器与web服务器之间如何 ...

  2. C#:Use Form as Subform

    static class SubFormExtensions { internal static bool AttachTo(this Form subForm, Panel panel) { if ...

  3. Dubbo Monitor 配置

    1. Dubbo Monitor 下载dubbo-monitor-simple-2.5.3-assembly.tar.gz 链接:http://pan.baidu.com/s/1gf88wDX 密码: ...

  4. TabLayout实现顶部导航(一)

    代码地址如下:http://www.demodashi.com/demo/14552.html 前言 顶部导航栏,是我们在开发中比较常见的一种显示布局,它的实现可以有多种方式,那么今天我们就来讲讲 T ...

  5. PHP-数据库永久连接

    以下为PHP官网上对数据库永久连接做的解释: 永久的数据库连接是指在脚本结束运行时不关闭的连接.当收到一个永久连接的请求时.PHP 将检查是否已经存在一个(前面已经开启的)相同的永久连接.如果存在,将 ...

  6. JavaScript-自制日历控件(只选择年月)

    <style> *{margin: 0px; padding: 0px;} </style> <input type="text" name=&quo ...

  7. Posix共享内存区

    1.概述 Posix提供了两种在无亲缘关系进程间共享内存区的方法: (1)内存映射文件:先有open函数打开,然后调用mmap函数把得到的描述符映射到当前进程地址空间中的一个文件(上一篇笔记所用到的就 ...

  8. Kruskal算法 - C语言详解

    最小生成树 在含有n个顶点的连通图中选择n-1条边,构成一棵极小连通子图,并使该连通子图中n-1条边上权值之和达到最小,则称其为连通网的最小生成树.  例如,对于如上图G4所示的连通网可以有多棵权值总 ...

  9. Python 元组 count() 方法

    描述 Python 元组 count() 方法用于统计某个元素在元祖中出现的次数. 语法 count() 方法语法: T.count(obj) 参数 obj -- 元祖中统计的对象. 返回值 返回元素 ...

  10. DNS与NS、NS记录

    DNS:人们习惯记忆域名,但机器间互相只认IP地址,域名与IP地址之间是一一对应的,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析服务器来完成,整个过程是自动进行的. 当你的网站制作完成 ...