如果我订
<property name="show_sql">true</property>
Run Code Online (Sandbox Code Playgroud)
在我的控制台的hibernate.cfg.xml配置文件中,我可以看到SQL.
但它不是真正的 SQL ......我能看到将直接传递给数据库的SQL代码吗?
例:
我知道了
select this_.code from true.employee this_ where this_.code=?
Run Code Online (Sandbox Code Playgroud)
我可以看吗
select employee.code from employee where employee.code=12
Run Code Online (Sandbox Code Playgroud)
在真正的 SQL?
在Hibernate中是否可以使用实际值而不是问号来打印生成的SQL查询?
如果使用Hibernate API无法打印具有实际值的查询,您会建议如何?
运行我的Spring/Hibernate应用程序时,我在控制台上看到以下不需要的输出:
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Hibernate: select securityus0_.ID ....
Run Code Online (Sandbox Code Playgroud)
我已经配置了我的Log4j记录器,如下所示:
<logger name="org.hibernate">
<level value="FATAL"/>
</logger>
<category name="STDOUT">
<priority value="WARN"/>
</category>
<category name="STDERR">
<priority value="WARN"/>
</category>
<!-- for all other loggers log only info and above log messages -->
<root>
<priority value="WARN"/>
<appender-ref ref="STDOUT" />
</root>
Run Code Online (Sandbox Code Playgroud)
我如何沉默这些消息?
我正在尝试了解log4j所以我只是尝试做一些非常简单的事情;
Logger logger = Logger.getLogger("ClientApplicationLog");
logger.info("Logger Test");
Run Code Online (Sandbox Code Playgroud)
但是在我得到这个之后;
log4j:WARN No appenders could be found for logger (ClientApplicationLog).
log4j:WARN Please initialize the log4j system properly.
Run Code Online (Sandbox Code Playgroud)
你知道我哪里错了吗?
谢谢你们
我正在使用Hibernate 4.0和Coldfusion 8与Jrun,遗憾的是已经包含了log4j,我无法将其删除,并且log4j的版本太旧(没有跟踪).因此Hibernate无法正常工作.我想强制Jboss Logging使用SLF4j,我已经为自定义log4j添加了绑定.
在我的hibernate.cfg.xml中,我有以下内容:
<property name="show_sql">true</property>
Run Code Online (Sandbox Code Playgroud)
在我的log4j.xml中,我有以下内容:
<logger name="org.hibernate" additivity="false">
<level value="TRACE"/>
<appender-ref ref="hbn_log"/>
</logger>
<category name="org.hibernate.SQL" additivity="false">
<priority value="TRACE"/>
<appender-ref ref="hbn_log"/>
</category>
<category name="org.hibernate.type" additivity="false">
<priority value="TRACE"/>
<appender-ref ref="hbn_log"/>
</category>
<logger name="org.hibernate.type.descriptor.sql.BasicBinder">
<level value="TRACE"/>
<appender-ref ref="hbn_log"/>
</logger>
<logger name="org.hibernate.event.def.DefaultLoadEventListener" additivity="true">
<level value="all"/>
<appender-ref ref="hbn_log"/>
</logger>
<logger name="org.hibernate.cache.ReadWriteCache" additivity="true">
<level value="all"/>
<appender-ref ref="hbn_log"/>
</logger>
<appender name="hbn_log" class="com.adventnet.management.log.NMSRollingFileAppender">
<param name="File" value="logs/hbn.txt"/>
<param name="MaxFileSize" value="1MB"/>
<param name="MaxBackupIndex" value="10"/>
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="[%d{dd MMM yyyy HH:mm:ss:SSS}] %-5c{2}: %m%n"/>
</layout>
<param name="Threshold" value="TRACE"/>
</appender>
Run Code Online (Sandbox Code Playgroud)
在我的stdout.txt中,我可以看到它记录了SQL语句:
[13 …Run Code Online (Sandbox Code Playgroud) 我发现,我的休眠依赖jboss-logging反过来导致依赖。
是否可以切换到logback我已经在使用的日志记录?
更新
我尝试了三个地方设置org.jboss.logging.provider:
1) 在 Spring 中对 JPA 属性进行 Lasing:
.setJpaProperties(additionalProperties());
Run Code Online (Sandbox Code Playgroud)
2)设置属性main():
System.setProperty("org.jboss.logging.provider", "slf4j");
Run Code Online (Sandbox Code Playgroud)
3)在命令行中设置属性:
-Dorg.jboss.logging.provider="slf4j"
Run Code Online (Sandbox Code Playgroud)
都没有工作。
我得到一个例外:
Caused by: java.lang.ClassNotFoundException: org.jboss.logging.Logger
at java.net.URLClassLoader$1.run(URLClassLoader.java:372)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:360)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 32 more
Run Code Online (Sandbox Code Playgroud)
请注意,我已从依赖项中排除了 jboss 日志记录:
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-entitymanager</artifactId>
<version>4.3.7.Final</version>
<exclusions>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
</exclusion>
<exclusion>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging-annotations</artifactId>
</exclusion>
</exclusions>
</dependency>
Run Code Online (Sandbox Code Playgroud) I am new to Spring MVC. I've been searching for few days for a solution to my problem, without any success.
Here is my stack: