猿教程 Logo

如何在Hibernate中配置日志记录 - SLF4j + Log4j

Hibernate使用简单的Logging for Java(SLF4J)将日志输出重定向到您的perfer日志记录框架(log4j,JCL,JDK logging,lofback ...)。 在本教程中,我们向您展示如何使用SLF4j + Log4j日志记录框架在Hibernate中进行日志记录。

本文使用的技术:

  1. Hibernate3.6.3.Final

  2. SLF4J-API-1.6.1

  3. SLF4J-log4j12-1.6.1

  4. Eclipse 3.6

  5. Maven 3.0.3


1.获取SLF4j + Log4j

要在Hibernate中记录日志,您需要“slf4j-api.jar”和log4j“slf4j-log4j12.jar”。 只需在你的pom.xml中声明依赖关系即可。

文件:pom.xml

<project ...>
	<repositories>
		<repository>
			<id>JBoss repository</id>
			<url>http://repository.jboss.org/nexus/content/groups/public/</url>
		</repository>
	</repositories>

	<dependencies>

		<dependency>
			<groupId>org.hibernate</groupId>
			<artifactId>hibernate-core</artifactId>
			<version>3.6.3.Final</version>
		</dependency>

		<!-- slf4j-log4j -->
		<dependency>
			<groupId>org.slf4j</groupId>
			<artifactId>slf4j-log4j12</artifactId>
			<version>1.6.1</version>
		</dependency>

	</dependencies>
</project>

slf4j-api.jar在哪里? slf4j-api.jar被定义为“hibernate-core”的依赖,所以你不需要再次声明它。


2. Log4j属性文件

创建一个“log4j.properties”文件并将其放入项目的类路径,如下图所示:


文件:log4.properties

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=C:\\mkyongapp.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
 
# Direct log messages to stdout
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{ABSOLUTE} %5p %c{1}:%L - %m%n
 
# Root logger option
log4j.rootLogger=INFO, file, stdout
 
# Log everything. Good for troubleshooting
log4j.logger.org.hibernate=INFO
 
# Log all JDBC parameters
log4j.logger.org.hibernate.type=ALL

使用这个log4j配置,它会将所有日志输出重定向到控制台,并将文件重定向到“C:\\ mkyongapp.log”。

注意Hibernate提供许多设置让开发人员决定要记录的内容。 总是参考这个Hibernate Log Categories,选择一些并在你的日志文件中实现它。


3.输出

尝试运行您的Hibernate Web应用程序,所有日志输出将被记录在“C:\\ mkyong app.log”文件中。 见下图:



参考

  1. Simple Logging Facade for Java(SLF4J)

  2. http://logging.apache.org/log4j/1.2/


版权声明:本站所有教程均为本站原创或翻译,转载请注明出处,请尊重他人劳动果实。请记住本站地址:www.yuanjiaocheng.net (猿教程) 作者:卿文刚
本文标题: C#环境
本文地址:http://www.yuanjiaocheng.net/Hibernate/hibernate-logging-by-log4j.html