Logging in Hibernate 4.3

You have different logging options in Hibernate and let us see some of those options quickly. Hibernate supports simple property based log enabling to supporting standard logging frameworks and even programmatically accessing log statistics.

 

First, you can enable showsql property in Hibernate to see the exact query being executed. You can set the property to true in the hibernate.cfg.xml XML configuration file. Please refer to http://javajee.com/lab-your-first-hibernate-43-program.

 

Second, a logging layer such as log4j can enable class- or package-level logging. Hibernate uses Simple Logging Façade for Java (SLF4J). SLF4J abstracts an actual logging framework such as log4j, JDK 1.4 logging, JCL, Logback etc. and can direct your logging output to that framework. To set up logging, you need the slf4j-api.jar file in your classpath, together with the JAR file for your preferred binding such as slf4j-log4j12.jar if using log4j.

 

Third, you can also enable live statistics by setting the hibernate.generate_statistics property in the configuration file:

<property name="hibernate.generate_statistics">true</property>

 

Hibernate provides SessionStatistics and Statistics interfaces in the org.hibernate.stat package to access statistics programmatically.

Sample code snippets:

SessionStatistics sessionStats = session.getStatistics();

Statistics stats = sessionFactory.getStatistics();

tx = session.beginTransaction();

tx.commit();

logger.info("getEntityCount- "+sessionStats.getEntityCount());

logger.info("openCount- "+stats.getSessionOpenCount());

logger.info("getEntityInsertCount- "+stats.getEntityInsertCount());

stats.logSummary();

session.close();

Tags: 

Quick Notes Finder Tags

Activities (1) advanced java (1) agile (3) App Servers (6) archived notes (2) Arrays (1) Best Practices (12) Best Practices (Design) (3) Best Practices (Java) (7) Best Practices (Java EE) (1) BigData (3) Chars & Encodings (6) coding problems (2) Collections (15) contests (3) Core Java (All) (55) course plan (2) Database (12) Design patterns (8) dev tools (3) downloads (2) eclipse (9) Essentials (1) examples (14) Exception (1) Exceptions (4) Exercise (1) exercises (6) Getting Started (18) Groovy (2) hadoop (4) hibernate (77) hibernate interview questions (6) History (1) Hot book (5) http monitoring (2) Inheritance (4) intellij (1) java 8 notes (4) Java 9 (1) Java Concepts (7) Java Core (9) java ee exercises (1) java ee interview questions (2) Java Elements (16) Java Environment (1) Java Features (4) java interview points (4) java interview questions (4) javajee initiatives (1) javajee thoughts (3) Java Performance (6) Java Programmer 1 (11) Java Programmer 2 (7) Javascript Frameworks (1) Java SE Professional (1) JPA 1 - Module (6) JPA 1 - Modules (1) JSP (1) Legacy Java (1) linked list (3) maven (1) Multithreading (16) NFR (1) No SQL (1) Object Oriented (9) OCPJP (4) OCPWCD (1) OOAD (3) Operators (4) Overloading (2) Overriding (2) Overviews (1) policies (1) programming (1) Quartz Scheduler (1) Quizzes (17) RabbitMQ (1) references (2) restful web service (3) Searching (1) security (10) Servlets (8) Servlets and JSP (31) Site Usage Guidelines (1) Sorting (1) source code management (1) spring (4) spring boot (3) Spring Examples (1) Spring Features (1) spring jpa (1) Stack (1) Streams & IO (3) Strings (11) SW Developer Tools (2) testing (1) troubleshooting (1) user interface (1) vxml (8) web services (1) Web Technologies (1) Web Technology Books (1) youtube (1)