
- Hibernate - Home
- ORM - Overview
- Hibernate - Overview
- Hibernate - Architecture
- Hibernate - Environment
- Hibernate - Configuration
- Hibernate - Sessions
- Hibernate - Persistent Class
- Hibernate - Mapping Files
- Hibernate - Mapping Types
- Hibernate - Examples
- Hibernate - O/R Mappings
- Hibernate - Cascade Types
- Hibernate - Annotations
- Hibernate - Query Language
- Hibernate - Criteria Queries
- Hibernate - Native SQL
- Hibernate - Caching
- Hibernate - Entity Lifecycle
- Hibernate - Batch Processing
- Hibernate - Interceptors
- Hibernate - ID Generator
- Hibernate - Saving Image
- Hibernate - log4j Integration
- Hibernate - Spring Integration
- Hibernate - Struts 2 Integration
- Hibernate - Web Application
- Mapping Table Examples
- Hibernate - Table Per Hiearchy
- Hibernate - Table Per Concrete Class
- Hibernate - Table Per Subclass
Hibernate - log4j Integration
Log4j is a logging framework, written entirely in Java. It is an open-source project from Apache Software Foundation.
In order to use Log4j, you need to put log4j library to your project's CLASSPATH. Then you need to set up a configuration file, which can be one of the following −
An XML file called log4j.xml
A properties file called log4j.properties
Different log levels of log4j
Following is the list of log levels supported by log4j framework.
Sr.No. | Level & Description |
---|---|
1 |
ALL Highest Debug level. Outputs everything that is possible. |
2 |
DEBUG Logs detailed information that is useful for debugging. |
3 |
INFO Logs informational messages that highlight the progress of the application at a high level. |
4 |
WARN Logs potentially harmful situations that are not necessarily errors. |
5 |
ERROR Designates error events that might still allow the application to continue running. |
6 |
FATAL Designates very severe error events that will presumably lead the application to abort. |
7 |
OFF Disables logging. Used to turn off logging completely. |
8 |
TRACE Designates finer-grained informational events than the DEBUG. |
Configuration using log4j.xml
For xml file configuration, you need log4j.jar in your CLASSPATH. Remember to save log4j.xml in the same directory (src/) as hibernate.cfg.xml.
log4j.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd"> <log4j:configuration> <appender name="ConsoleAppender" class="org.apache.log4j.ConsoleAppender"> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{MM/dd HH:mm:ss} %-5p %30.30c %x - %m\n"/> </layout> </appender> <appender name="FileAppender" class="org.apache.log4j.RollingFileAppender"> <param name="File" value="C:/hibernate-log4j.log"/> <param name="MaxFileSize" value="10MB"/> <layout class="org.apache.log4j.PatternLayout"> <param name="ConversionPattern" value="%d{MM/dd HH:mm:ss} %-5p %30.30c %x - %m\n"/> </layout> </appender> <root> <level value="info"/> <appender-ref ref="ConsoleAppender"/> <appender-ref ref="FileAppender"/> </root> </log4j:configuration>
In, this configuration debug messages will be output to console (because of ConsoleAppender) and also to file (because of FileAppender) in C:/ > hibernate-log4j.log. You can change the file name as per your wish, but the extension needs to be log.
Configuration using log4j.properties
Similar to the XML file, the log4j.properties file must be put in under src/ folder (same as hibernate.cfg.xml).
log4j.properties
#Definetherootloggerwithappenderfile log4j.rootLogger=DEBUG,FILE, stdout #Output logmessagesto file log4j.appender.file=org.apache.log4j.RollingFileAppender log4j.appender.file.File=C:\\hibernate.log log4j.appender.file.MaxFileSize=10MB log4j.appender.file.layout=org.apache.log4j.PatternLayout log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE}%5p%c{1}:%L- %m%n #Outputlogmessagestostdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-ddHH:mm:ss}%- 5p%c{1}:%L-%m%n # Hibernate logging ------------------------------------------------- # General Hibernate logging log4j.logger.org.hibernate=INFO # Logs all SQL statements generated by Hibernate log4j.logger.org.hibernate.SQL=DEBUG