如何将Hibernate生成的SQL语句打印到日志文件?

我在目前的项目中有这样的问题,我用Eclipse调试程序,控制台的日志可以打印输出到一个日志文件中,但是在控制台中显示的Hibernate生成的SQL语句输出不到这个文件,请问这是为什么?以下是我项目的log4j配置文件:

log4j.rootLogger=INFO, stdout,R

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m - [%l]%n

log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=simECDS.log
log4j.appender.R.MaxFileSize=5120KB
log4j.appender.R.MaxBackupIndex=20
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} [%p] %m - [%l]%n
log4j.appender.R.Encoding=UTF-8

log4j.logger.org.hibernate=WARN
log4j.logger.org.hibernate.ps.PreparedStatementCache=WARN
log4j.logger.org.hibernate.type=WARN
log4j.logger.org.apache.commons=ERROR

请大家赐教,谢谢~~~

0

6个回答

看了楼主的问题,又在自己项目中试了下,只要加上下面这个语句就可以了[code="log4j.propreties"]
#输出sql语句到日志
log4j.logger.org.hibernate.SQL=debug

#将对应的参数占位符?换成传入的参数
log4j.logger.org.hibernate.type=trace
[/code]

0

[code="java"]



...
true
...


...

[/code]

0

HIBERNATE配置文件里加入

0

不好意思看错了,应该是在log4j.properties加:
[code="java"]
log4j.logger.org.hibernate.SQL=ERROR,root
[/code]
日志级别自己调整。

0

[code="java"]log4j.logger.org.hibernate.SQL=debug[/code]

0

哈哈,等我测试出来,已有这么多正确答案了,希望一直有这么高的人气!

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Mybatis结合log4j打印sql到日志文件
配置mybatis的配置文件 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"> &l...
Hibernate打印sql语句
只需要一行简单的属性就可以搞定了。如下代码 classpath*:com/zhiwei/credit/model/**/*.hbm.xml classpath*:com/credit/proj/hbms/*.hbm.xm
在控制台中显示Hibernate打印的SQL中的参数
默认情况下,hibernate的sql中都是以问号代表参数,并没有显示参数的真实值,但是也不是做不到,只需要两步配置就可以显示出参数的真实值了: 1.spring的配置文件中增加: [code="xml"]true[/code] 或者在hibernate的配置文件中增加: [code="xml"]true[/code] 2.在log4j.properties中做如下配置:...
SSH中设置Hibernate执行的SQL 语句打印控制台
"hibernateProperties">                                  "hibernate.dialect">org.hibernate.dialect.MySQLDialect                   "hibernate.show_sql">true                   "hibernate.format_sql">
SpringBoot使用logback输出日志并打印sql信息
最近在学习springboot以及一些springcloud插件的使用,其中发现默认的配置并不能打印一些有用的日志,所以需要自定义一些日志输出方式以便于查看日志排查问题,目前只整理了两种使用方式,如下: 1 简单日志配置 默认情况下spring boot使用Logback作为日志实现的框架,其内部使用Commons Logging来记录日志,同时也保留外部接口可以让一些日志框架来进行实现,
springboot 输出sql日志到指定文件
springboot 输出sql日志到指定文件 ? <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE configuration PUBLIC "-//mybatis.org//DTD Config 3.0//EN" "http://mybatis.org/dtd/mybatis-3-config.dtd"&g...
问题:Hibernate ,测试类中并没有在控制台打印出sql语句?
问题:Hibernate 配置了Hibernate.cfg.xml文件,映射文件也有了,但在测试类中运行了,控制台并没有打印出sql语句 详细如下: 1,Hibernate.cfg.xml也配置了自动提交 ,也把show_sql设置为ture 2,User.hbm.xml映射文件也配置如下: 问题描述:测试类中运行成功,但是控制台并没
LogBack打印SQL日志
<logger name="com.x.x.dao.XxxDao" level="DEBUG" />其中name="com.x.x.dao.XxxDao"  为mybatis DAO接口包路径
hibernate输出的sql日志里匹配上传进去的参数(原创)
hibernate在hibernate.cfg.xml里配置了<property name="show_sql">true</property>之后,可以在控制台输出:select this_.id as id3_0_, this_.type as type3_0_, this_.name as name3_0_ from resources.type this_ wher...
eclipse将控制台日志打印到日志文件
首先将启动的服务停止run-------》 run configurations /debug configurations (想要哪种启动方式就选择哪一个)  选择你的中间件  -------》common选荐卡-------》output file 复选框-------》选择文件输出位置即可。
Log4j2配置文件记录hibernate
我本来问题是想要用log4j2去记录hibernate,原来用的log4j也没什么问题 突然就提示我要用log4j2了,用了各种关键词去百度,结果出来的教程也不知道是谁写的,有错误,结果来回转载,每一个对的。 弄了半天总结一下: 1. 首先log4j 2.x版本不再支持像1.x中的.properties后缀的文件配置方式,2.x版本配置文件后缀名只能为”.xml”,”.json”或者”.jsn
DBACCESS DEMO
定时读取数据库打印到日志文件的DEMO,支持多种数据库。数据库驱动语句,SQL语句都写在配置文件里,方便在不同数据库中切换
oracle 打印长sql到控制台
之前用过一个,用程序写的,忘记了,mark一个最简单的 DBMS_OUTPUT.put_line(length(v_sql));DBMS_OUTPUT.put_line(subStr(v_sql,1,900));DBMS_OUTPUT.put_line(subStr(v_sql,901,900));DBMS_OUTPUT.put_line(subStr(v_sql,1801,900));DBM...
使用Mybatis框架时怎样可以让程序在tomcat日志中打印出执行的SQL语句
我们都知道,如果是直接使用mysql我们是看不到项目运行过程中执行了哪些对应的SQL语句, hibernate可以直接加一一条配置就搞定, mybatis其实也大同小异, 废话不多说, 直接上代码 只需要在mybatis的配置文件中加入    <settings>         <setting name="logImpl" value="LOG4J" />   ...
简单的日志和单元测试
在上文程序基础上,如果不用main函数而改用单元测试方式怎么办? 如果想添加详细的过程日志怎么办? 简单。00.目录机构01.增加两个jar,并且Build Path02.增加log4j.properties文件# Global logging configuration log4j.rootLogger=DEBUG, stdout # Console output... log4j.appen
Spring Boot 整合MaBatis如何在控制台打印执行的SQL语句
第一种在Spring Boot 的配置文件application.yml中加入 configuration: log-impl: org.apache.ibatis.logging.stdout.StdOutImpl 或者加入 logging: level: com.XXX.Mapper: debug (红色部分为Dao层的包名,注意不是XML文件的包名) ...
MyBatis学习总结(六)---使用log4j2将sql语句执行记录输出控制台和文件中
  在上一篇博客中我简单的介绍了在MyBatis中如何使用日志,并给出了一个在MyBatis中使用log4j的示例。    MyBatis中日志的使用及使用log4j示例   下面介绍在MyBatis中如何使用log4j2将sql语句执行记录输出控制台和文件中。   1.示例项目目录:        2.先导入log4j2所需要的两个jar包,如:log4j-api-2.11.1.jar...
php: 打印log日志,存储数据到log文档 实例
我们写php经常遇到,要把一些数据记录一下,此时最好的方法,就是写进文档,方便快捷,不用了就删掉 php也提高了几种快速方法 一.error_log() 把错误信息发送到 web 服务器的错误日志,或者到一个文件里。 语法 error_log('message',3,'/var/log/test.log'); $str = 'messag
如何使项目运行时在控制台打印出sql语句
使用struts2+mybatis进行项目开发时,想要在debug模式运行时在控制台打印sql语句,只需打开配置文件 log4j.properties 然后设置如下参数中的红色部分为ERROR即可 log4j.logger.org.springframework.jdbc.support=INFO log4j.logger.org.springframework.scheduling=INF...
mybatis:打印SQL到控制台
原文来自BIGEC的博客:https://blog.csdn.net/u012666996/article/details/79106599 一、普通Spring项目:修改Mybatis.xml <configuration> <settings> <setting name="logImpl" value="STDOUT_LOGGING...
在日志中输出hibernate和ibatis执行的SQL语句
在log4j.properties文件中配置 log4j.logger.com.ibatis=debug log4j.logger.com.ibatis.common.jdbc.SimpleDataSource=debug log4j.logger.com.ibatis.common.jdbc.ScriptRunner=debug log4j.logger.com.ibatis....
hibernate5控制台打印出sql语句未报错,但是数据库中未创建表
网上是这样解释的: hibernate里的dialect和Mysql的版本不匹配,SQL语句里的type=InnoDB使用在MySQL5.0之前,5.0之后就要是使用engine=InnoDB, MySql5.0之前的配置 property name="dialect">org.hibernate.dialect.MySQLInnoDBDialectproperty> 5.0之后需要使用
将e.printStackTrace()打印的信息输入到log4j
logger.error("MyERROR", e);
利用spring打印hibernate执行的sql
1spring整合hibernate并.在hibernate的工厂sessionFactory加入下面的属性就可以打印了 true 例子:
springboot中mybatis打印sql到控制台
springboot中mybatis打印sql到控制台 1、基于properties配置 logging.level.com.xx.mapper=DEBUG 2、基于yml配置 logging: level: com: xx: mapper: DEBUG 也就是你mybatis对应的方法接口所在的包...
将运行信息打印日志到文件中
开发程序经常要从控制台当中获取程序运行的情况,最近在开发在服务器端,导师要求要记录好运行信息,包括异常信息,客户连接情况等信息,但控制台观看有种种限制,如窗口过小阅读不方便,或者在服务器上通过命令行运行jar包时的行数限制等等。于是就想到将运行信息打印日志到文件中。接下来就分享一下这几天研究出来的几种打印日志到文件中的方法。 一:通过开发工具Eclipse设置来直接打印输出到本地文件中。
hibernate插件自动生成sql语句文件
在pom中加入插件依赖 <plugin> <groupId>de.jpdigital</groupId> <artifactId>hibernate52-ddl-maven-plugin</artifactId> <!-- Change to match your Hibernate versio...
logback 配置打印 JPA SQL日志到文件
Logback 输出 Hibernate SQL日志 到文件 使用Spring Boot 配置 JPA 时可以指定如下配置在控制台查看执行的SQL语句 spring.jpa.show-sql=true Spring Boot 默认的日志配置不会输出到文件,若要打印日志到文件,可以使用如下配置: #llogging.level后跟要打印日志的包名或类的全限定名,设置打印级别 # 日志级别...
模拟Hibernate底层生成SQL语句(反射机制)
package com.factory.dao.imp; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.ArrayList; import java.util.HashMap;
hibernate通过反射,动态生成insert语句原理 并向数据库添加数据
hibernate通过反射,动态生成insert语句原理 并向数据库添加数据
为什么slf4j+log4j能打印日志到控制台,但是不能打印到指定文件
slf4j提供一个接口,它可以有很多具体实现,如common-logging,log4j,logback等等,如果项目依赖的jar包很多,这时就要排除掉多余的jar包,只能指定一个具体的实现 比如项目中依赖milo这个包 org.eclipse.milo client-examples 0.1.0-SNAPSHOT
Qt实现简单的qDebug输出到日志文件
Qt实现的qDebug信息输出到日志文件中,不依赖第三方库,简单实用。
Ibatis执行SQL操作把SQL打印到控制台
要想让Ibatis打印SQL语句到控制台,可以在log4j.xml文件加入以下语句: <?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration xmlns:log4j="http://jakarta..
java打印日志文件
1 新建Gradle项目,如果eclips下没Gradle,先下载个gradle插件 2 双击build.gradle文件,添加compile  'org.slf4j:slf4j-api:1.7.21',"org.slf4j:slf4j-log4j12:1.7.21"依赖,如图: 3 添加完依赖记得刷新下,如图: 4 接在src目录下新建log4j.properties文件,文件...
hibernate产生多余的sql语句
看不懂的话看sql语句: 也是倒是也好理解,两个表更新的都是 linkedman (联系人这个值) 原因是因为设置了双向关联。 解决产生多余的sql : 方式一: 设置单项关联: 能够解决问题: 只设置一方去维护外键关系: 但是该方式在实际的开发当中不采用。 原因: 更加复杂的业务的逻辑, 设置了单项关联, 某些情况不能满足实际的业务需求。 方式二: 使一方放弃外键的 维护权利: 使一的一方...
在springBoot在控制台打印sql语句
在springBoot在控制台打印sql语句 在springBoot+Mybatis日志显示SQL的执行情况的最简单方法就是在properties新增: properties形式 logging.level.com.eth.wallet.mapper=debug yml形式 logging: level: co...
Mybatis SQL语句控制台打印
Mybatis SQL语句控制台打印 一、普通Spring项目:修改Mybatis.xml configuration> settings> setting name="logImpl" value="STDOUT_LOGGING" /> settings> configuration> 二、 SpringBoot:修改application.yml
logback.xml中如何将sql语句打印出来?
1,在logback.xml将info级别改成debug级别就可以,debug级别意思是调试级别 debug级别就是日志的最低级别,可以将大部分日志都打印出来,所以sql语句也能打印出来 各个日志级别的详细描述如下: https://www.cnblogs.com/alice-fee/p/6214654.html ...
log4j打印到控制台输出sql语句
log4j错误打印到控制台 并且输出sql语句
Java e.printStackTrace()异常信息怎么打印到log日志中
最近工作遇到一个问题是测试环境服务器上的日志打印不出错误出现在第几行,尤其是在出现反射或代理等的情况下使用e.getStackTrace方法不能打印出错误类型和错误行数。但是在控制台使用e.printStackTrace()却能打印出错误类型或错误行数,如空指针。 但是e.printStackTrace()方法只能使用在控制台中,那么我就想怎么把e.printStackeTrace的栈信息打印到...