[hibernate-issues] [Hibernate-JIRA] Commented: (HHH-2835) Setting org.hibernate.type logging to debug produces no logging

Evan M (JIRA) noreply at atlassian.com
Thu May 14 15:52:14 EDT 2009


    [ http://opensource.atlassian.com/projects/hibernate/browse/HHH-2835?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=33170#action_33170 ] 

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-configuration.html#configuration-logging
> 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: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the hibernate-issues mailing list