Hibernateでロギングを構成する方法– SLF4j + Log4j
Try logback
ログバックロギングフレームワークを試してください。「http://logback.qos.ch/reasonsToSwitch.html[log4jよりもログバックを優先する理由]については、この記事をお読みください。 ログバックをHibernateと統合するには、これを参照してください–How to configure logging in Hibernate – Logback
HibernateはSimple Logging Facade for Java (SLF4J)を使用して、ロギング出力をperferロギングフレームワーク(log4j、JCL、JDKロギング、lofback…)にリダイレクトします。 このチュートリアルでは、Hibernate with SLF4j + Log4jロギングフレームワークでロギングを行う方法を示します。
この記事で使用されている技術:
-
Hibernate 3.6.3。最終
-
slf4j-api-1.6.1
-
slf4j-log4j12-1.6.1
-
Eclipse 3.6
-
Maven 3.0.3
1. SLF4j + Log4jを入手する
Hibernateにログインするには、「slf4j-api.jar」と、log4j「slf4j-log4j12.jar」のような優先バインディングが必要です。 pom.xml
で依存関係を宣言するだけです。
ファイル:pom.xml
JBoss repository http://repository.jboss.org/nexus/content/groups/public/ org.hibernate hibernate-core 3.6.3.Final org.slf4j slf4j-log4j12 1.6.1
Where is 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:\\exampleapp.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:\exampleapp.log
」にリダイレクトします。
Note
Hibernateは、開発者が何をログに記録するかを決定できるようにするための多くの設定を提供します。 常にこのHibernate Log Categoriesを参照し、いくつかを選択してログファイルに実装してください。
3. 出力
Hibernate Webアプリケーションを実行してみてください。すべてのログ出力は、「C:\exampleapp.log
」ファイルに記録されます。 以下の図を参照してください。
ダウンロード–Log4j-Hibernate-Example.zip(7KB)