zoukankan      html  css  js  c++  java
  • Log4j和thymeleaf结合导致sql 日志输出不了

    最近用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>
    

      

  • 相关阅读:
    前端笔记之JavaScript(六)让人头疼的正则表达式
    前端笔记之JavaScript(五)关于数组和字符串那点事
    前端笔记之JavaScript(四)关于函数、作用域、闭包那点事
    前端笔记之JavaScript(三)关于条件判断语句、循环语句那点事
    前端笔记之JavaScript(二)关于运算符&初识条件判断语句
    前端笔记之CSS(下)浮动&BFC&定位&Hack
    前端笔记之CSS(上)语法&文本属性&块/行内元素&选择器&盒模型
    artTemplate--使用artTemplate时,由于json对象属性有数字命名格式 导致调用报错 syntax error
    多线程--做单元测试时,使用线程池发现并没有运行指定代码,直接跳过
    JSP-导入taglib 出现classNotFound异常
  • 原文地址:https://www.cnblogs.com/sunxun/p/9097017.html
Copyright © 2011-2022 走看看