]
Evan M commented on HHH-2835:
-----------------------------
The likely problem is that the code Steve refers to above is executed only when the
NullableType class is initialized (which happens as soon as Hibernate is configured). If
the application hasn't configured its log by the time that happens, there are no
further opportunities to do so, and NullableType will ignore any changes to log
configuration after that.
I am most interested in bind parameters when debugging unit test failures. I was able to
have them logged by putting this in the base test case class:
static {
// initialize log4j with the test params
PropertyConfigurator.configure("/path/to/log4j.properties");
}
This isn't a great user experience. I think the Hibernate maintainers should:
1. Put something into the debug log at the time this decision is made, perhaps:
"DEBUG [main] org.hibernate.type (NullableType.java:59) - Tracing of bind parameters
and selected values will be DISABLED based on the current value of
getLogger("org.hibernate.type").isTraceEnabled()."
2. Consider delaying this read until it is actually needed... perhaps the first time a
session is opened, or something like that.
Setting org.hibernate.type logging to debug produces no logging
---------------------------------------------------------------
Key: HHH-2835
URL:
http://opensource.atlassian.com/projects/hibernate/browse/HHH-2835
Project: Hibernate Core
Issue Type: Bug
Components: core, documentation
Affects Versions: 3.2.4, 3.2.5
Environment: Hibernate 3.2.4.ga and Hibernate 3.2.5.ga with MySQL5Dialect
(configured with Hibernate Annotations 3.3.0.ga and Spring 2.0.6)
Reporter: Jeremy Grodberg
Assignee: Diego Plentz
Priority: Minor
According to the online documentation (labeled as version 3.2.2 at this moment), Table
3.9 "Hibernate Log Categories", as viewed here today:
http://www.hibernate.org/hib_docs/v3/reference/en/html/session-configurat...
Setting the log4j category "org.hibernate.type" to debug should "Log all
JDBC parameters". However, it produces no output at all.
When I go on to set "org.hibernate" to debug, I get output like this:
DEBUG: org.hibernate.jdbc.AbstractBatcher - about to open PreparedStatement (open
PreparedStatements: 0, globally: 0)
DEBUG: org.hibernate.SQL - select count(*) from album where genreID=?
DEBUG: org.hibernate.loader.Loader - bindNamedParameters() 126 -> genreId [1]
DEBUG: org.hibernate.jdbc.AbstractBatcher - about to open ResultSet (open ResultSets: 0,
globally: 0)
DEBUG: org.hibernate.loader.Loader - result row:
DEBUG: org.hibernate.jdbc.AbstractBatcher - about to close ResultSet (open ResultSets: 1,
globally: 1)
DEBUG: org.hibernate.jdbc.AbstractBatcher - about to close PreparedStatement (open
PreparedStatements: 1, globally: 1)
Note that the JDBC parameters are logged under org.hibernate.loader but nothing appears
under org.hibernate.type. FYI, genreId is, in this case, a Long.
Perhaps this is expected/desired when using annotations? If so, then please update the
documentation. If not, please restore the logging.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: