Hibernateでのログインの設定方法 - SLF4j Log4j

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ロギングフレームワークでロギングを行う方法を示します。

この記事で使用されている技術:

  1. Hibernate 3.6.3。最終

  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


    
        
            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」ファイルを作成し、プロジェクトのクラスパスに配置します。次の図を参照してください。

configure log4j in hibernate

ファイル: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 output

ダウンロード–Log4j-Hibernate-Example.zip(7KB)