Monitoring SQL queries that get generated and executed by ORM is critical for troubleshooting and performance optimization. By default, all the logs get logged to console using HIBERNATECONSOLE, which is actually a console appender.

You can monitor and log the queries by:

  • Defining logsql in ormsettings: This is a simple way to quickly enable SQL logging. The flag should be enabled in Application.cfc: this.ormsettings.logsql = true. This logs all SQL queries that are generated by Hibernate to the console and server's output log file.
  • Using Hibernate uses log4j for its logging and you can completely control its logging, including SQL, by modifying the, which is present under /lib directory. You can also direct the logging to a log file using the FileAppender provided by log4j. See log4j for more details on Appenders. Following is a sample snippet from the file:

###--------------- Hibernate Log Settings ------ 
### Set Hibernate log, HIBERNATECONSOLE 

### log just the SQL, HIBERNATECONSOLE 
### Also log the parameter binding to the prepared statements. 
### log schema export/update ###, HIBERNATECONSOLE 
### log cache activity ###, HIBERNATECONSOLE 
# HibernateConsole is set to be a ColsoleAppender for Hibernate message using a PatternLayout. 
log4j.appender.HIBERNATECONSOLE.layout.ConversionPattern=%d{MM/dd HH:mm:ss} [%t] HIBERNATE %-5p - %m%n%n 

The configuration controls the logging for the following:

  • SQL generated for entity operations
  • Parameter binding for the prepared statements
  • SQL generated for DDL
  • Secondary cache operations

With the default settings, all the logs get logged to console. You can also direct the logging to a log file using the FileAppender provided by log4j. See log4j for more details on Appenders.

Log4j Properties Description This controls when and how the SQL will be logged. DEBUG says all the SQL will be logged This logs the parameter binding to the prepared statement. Logs SQL for DDL, that is, schema export. Logs secondary cache information.


You can use the ormsettings and logging methods simultaneously.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy