灵活控制 Hibernate 的日志或 SQL 输出(包含参数),以便于诊断
首先参考:http://blog.csdn.net/zljjava/article/details/7534349 [灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断]
我的具体配置,我的是log4j.xml中的配置:
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
<log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/"> <appender name="console" class="org.apache.log4j.ConsoleAppender">
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="DP - %d %c%n%-5p: %m%n%n"/>
</layout>
</appender> <appender name="INFO" class="com.cplatform.log.DatedFileAppender">
<param name="Encoding" value="UTF-8"/>
<param name="File" value="${catalina.home}/log/b2c/%yyyy%mm/%dd/info.log"/>
<param name="Append" value="true"/>
<param name="BufferedIO" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p %c %t %m%n"/>
</layout> </appender> <appender name="ERROR" class="com.cplatform.log.DatedFileAppender">
<param name="Encoding" value="UTF-8"/>
<param name="File" value="${catalina.home}/log/b2c/%yyyy%mm/%dd/error.log"/>
<param name="Append" value="true"/>
<param name="BufferedIO" value="false"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%d %p %c %t %m%n"/>
</layout>
<filter class="org.apache.log4j.varia.LevelRangeFilter">
<param name="LevelMin" value="DEBUG"/>
<param name="LevelMax" value="FATAL"/>
</filter>
</appender> <logger name="com.cplatform.b2c">
<level value="DEBUG"/>
<appender-ref ref="INFO"/>
</logger> <!-- ---------------------------------输出Hibernate打印的SQL语句,并且给出?的参数值------------------------------ -->
<logger name="org.hibernate.type.descriptor.sql.BasicBinder">
<level value="TRACE"/>
<appender-ref ref="console"/>
<appender-ref ref="INFO"/>
</logger>
<!--
<logger name="org.hibernate.type.descriptor.sql.BasicExtractor">
<level value="TRACE"/>
<appender-ref ref="console"/>
<appender-ref ref="INFO"/>
</logger> -->
<logger name="org.hibernate.engine.QueryParameters">
<level value="DEBUG"/>
<appender-ref ref="console"/>
<appender-ref ref="INFO"/>
</logger>
<logger name="org.hibernate.engine.query.HQLQueryPlan">
<level value="DEBUG"/>
<appender-ref ref="console"/>
<appender-ref ref="INFO"/>
</logger>
<logger name="org.hibernate.SQL">
<level value="DEBUG"/>
<appender-ref ref="console"/>
<appender-ref ref="INFO"/>
</logger>
<!-- ---------------------------------end------------------------------ --> <root>
<priority value="INFO"/>
<appender-ref ref="console"/>
<appender-ref ref="INFO"/>
</root> <!-- Application Loggers -->
<logger name="org.springframework" additivity="false">
<level value="error" />
</logger> <logger name="org.apache" additivity="false">
<level value="error" />
</logger> </log4j:configuration>
灵活控制 Hibernate 的日志或 SQL 输出(包含参数),以便于诊断的更多相关文章
- 灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断
我们在使用 Hibernate 时一般只会关注是否显示生成的 SQL 语句,不过有些时候还不够.默认时 Hibernate 执行的 SQL 语句是打印在控制台上的,它也可以配置为输出给 Log4J 或 ...
- (转)灵活控制 Hibernate 的日志或 SQL 输出,以便于诊断
背景:项目开发需要.之前对于hibernate日志输出,log4j的绑定,之间的关系一直不是很清楚.终于找到一篇介绍的很详细的文章. 文章出处:https://unmi.cc/hibernate-lo ...
- Hibernate打印SQL及附加参数
今天在项目运行过程中,一直报一个org.hibernate.exception.GenericJDBCException: could not insert 异常,Root Cause是IBM DB ...
- [hibernate]log4jdbc日志输出完整SQL语句
1.在maven引入: <dependency> <groupId>log4j</groupId> <artifactId>log4j</arti ...
- AMQ学习笔记 - 19. 问题解决 - 控制Atomikos的日志输出
概述 在使用Atomikos为ActiveMQ提供JTA支持时,Atomikos在控制台打印了繁琐的日志.这里介绍如何控制Atomikos日志输出的粒度. 解决方案 基于以下三个事实: Atomiko ...
- (转)log4j(四)——如何控制不同风格的日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...
- (转)log4j(三)——如何控制不同级别的日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 1 老规矩,先来个栗子,然后再聊聊感受 package test.log4j.test3; import org.apac ...
- log4j(四)——如何控制不同风格的日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...
- log4j(三)——如何控制不同级别的日志信息的输出?
一:测试环境与log4j(一)——为什么要使用log4j?一样,这里不再重述 二:老规矩,先来个栗子,然后再聊聊感受 import org.apache.log4j.*; //by godtrue p ...
随机推荐
- Jquery基础知识;
1.jquery语法 jQuery 语法是通过选取 HTML 元素,并对选取的元素执行某些操作. 基础语法: $(selector).action() 美元符号定义 jQuery 选择符(select ...
- 正确答案 全国信息学奥林匹克联赛( ( NOIP2014) 复 赛 模拟题 Day1 长乐一中
[题目描述]小 H 与小 Y 刚刚参加完 UOIP 外卡组的初赛,就迫不及待的跑出考场对答案."吔,我的答案和你都不一样!",小 Y 说道,"我们去找神犇们问答案吧&qu ...
- mysql 新建用户
//=============================================================================== //代理商子账户订单服务器为了安全 ...
- timus 1106 Two Teams(二部图)
Two Teams Time limit: 1.0 secondMemory limit: 64 MB The group of people consists of N members. Every ...
- 排序算法总结(二)归并排序【Merge Sort】
一.归并排序原理(Wikipedia) 归并排序本质是分治思想的应用,并且各层分治递归可以同时进行 1.申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列 2.设定两个指针,最初位置 ...
- 黑马程序员——JAVA基础之简述集合collection
------- android培训.java培训.期待与您交流! ---------- 集合: 为什么出现集合类? • 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对 ...
- C/C++笔试题(很多)
微软亚洲技术中心的面试题!!! .进程和线程的差别. 线程是指进程内的一个执行单元,也是进程内的可调度实体. 与进程的区别: (1)调度:线程作为调度和分配的基本单位,进程作为拥有资源的基本单位 (2 ...
- -bash: crontab: command not found(转)
操作步骤 1. 确认crontab是否安装: 执行 crontab 命令如果报 command not found,就表明没有安装 2. 安装 crontab 执行 yum install -y vi ...
- 机器学习算法基础(Python和R语言实现)
https://www.analyticsvidhya.com/blog/2015/08/common-machine-learning-algorithms/?spm=5176.100239.blo ...
- C#线程
创建带参数 Thread channelUpdaterThread = new Thread(new ParameterizedThreadStart(ChannelUpdaterThreadProc ...