2012-11-21 8 views
6

私は小さなデモプロジェクトにHibernateを使用しています。私はEclipseを使用しています。私はEclipse内からプログラムを起動します。これにより、プログラム出力がEclipseコンソールに出力されます。Hibernateロギングをオフにします

これはプレーンなJavaプロジェクトです.MavenもSpringも、何もありません。私はちょうどjboss-logging-3.1.0.GA(いくつかのlog4jクラスを含んでいるので、ここでlog4jが動作していると仮定します)をビルドパスに必要なハイバーネーションライブラリを追加しました。

この質問にはウェブ上で多くの人が尋ねていますが、提案された解決策のどれも私にとっては役に立たないものです。

私は自分のプロジェクトのsrcディレクトリ内にlog4j.propertiesファイルを作成しました(クラスパス上にあるはずです)。 log4j.propertiesファイルは、プロジェクトのビルド時にEclipseによってbinディレクトリにコピーされます。それは1つの単一のラインを含んでいます:

log4j.logger.net.sf.hibernate=fatal 

私はウェブ上で見つけました。私も試しました

log4j.logger.org.hibernate=fatal 

どちらも役に立ちません。

それでも私は(私は致命的に重要度を設定すると表示されません...)すべての情報メッセージですコンソール出力は、次を得る:私も-Dlog4j.configuration =のlog4jを追加しようとした

21.11.2012 19:53:51 org.hibernate.annotations.common.Version <clinit> 
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final} 
21.11.2012 19:53:51 org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {4.1.8.Final} 
21.11.2012 19:53:51 org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
21.11.2012 19:53:51 org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: HHH000021: Bytecode provider name : javassist 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!) 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000115: Hibernate connection pool size: 20 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000006: Autocommit mode: true 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/quellsystem] 
21.11.2012 19:53:51 org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000046: Connection properties: {user=root, password=****, autocommit=true, release_mode=auto} 
21.11.2012 19:53:52 org.hibernate.dialect.Dialect <init> 
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQLDialect 
21.11.2012 19:53:52 org.hibernate.engine.transaction.internal.TransactionFactoryInitiator initiateService 
INFO: HHH000268: Transaction strategy: org.hibernate.engine.transaction.internal.jdbc.JdbcTransactionFactory 
21.11.2012 19:53:52 org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory <init> 
INFO: HHH000397: Using ASTQueryTranslatorFactory 

.propertiesをEclipse実行構成のVM引数に追加します。いずれにせよ助けにならない...

答えて

2

この回答を確認してください。プログラムによってlog4jを無効にする方法を示します。

https://stackoverflow.com/a/6736961/204435

+0

おかげでこれを置くことができます。しかし、APIはlo4j 2.xで変更されたようです。私は今log4j 1.2.xを使用しています。 LogManager.getRootLogger()。setLevel(Level.OFF);しかし、十分です。 –

+0

こんにちは。 log4j.propertiesファイルの解決策は私のために働いていません。 LogManager.getRootLogger()も試しましたが、このメソッドはありません。私は休止状態で5.2を使用しています。私はjbossログを直接log4jではありません。ありがとう – pillesoft

2

あなたがlog4jの設定ファイルを使用することができます。

は、ロギングを無効にするには、あなたのpom.xml

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.15</version> 
</dependency> 

にこれを追加しlog4j.propertiesファイルを使用できるようにするには、あなたが働いていたあなたのsrc/test/resources/log4j.propertiesファイル

log4j.rootLogger=OFF