2012-01-09 5 views
2

提供されたjarのロギングについて質問したいと思います。 私は多くの依存関係を持つmavenアプリケーションを持っており、私はlogbackを使用してログオンする必要があります。私はjboss 5.1で作業します。プロジェクタ内のロガーで提供されたjarsをロギングする

ほぼすべて正常に動作します。 Logback.xmlファイルと適切なアペンダーなどを使用して、パケットからすべてのアクションをログに記録できます。 問題が1つあります.logbackを使用して、org.hibernateアクションを記録できません。 jboss(jboss-log4j.xmlで設定)でlog4jを使用してログを記録しているようです。 私のpom.xmlには、提供されているorg.hibernateがあります。これはjbossによって自然に提供されています。 logback.xml

<logger name="org.hibernate" level="TRACE" additivity="false"> 
    <appender-ref ref="SQL_FILE" /> 
</logger> 

から

<dependency> 
<groupId>org.hibernate</groupId> 
     <artifactId>hibernate-core</artifactId> 
     <version>3.3.1.GA</version> 
     <scope>provided</scope> 
</dependency> 
    <dependency> 
     <groupId>org.hibernate</groupId> 
     <artifactId>hibernate-annotations</artifactId> 
     <version>3.4.0.GA</version> 
     <scope>provided</scope> 
</dependency> 

スニペット私は削除のpom.xmlから

<scope>provided</scope> 

それは、プロジェクトの設定でlogback.xmlを使用してログインを開始します。私はそれをするだろうが、私は自分の代わりに提供された瓶を使用しなければならない。

提供されたjarファイルをプロジェクト内の設定でログに記録する可能性はありますか?または私は運命であり、私はjbossディレクトリのlog4j設定を使用する必要がありますか?

答えて

1

私の知る限り、JBossでパッケージ化されたHibernateのロギング設定は変更できません。このHibernateクラスは、アプリケーション間で共有され、ロギングされます。sybsystemは、アプリケーションのデプロイメントよりも早く初期化されています。 <provided>のスコープを削除すると、Hibernateはアプリケーションデプロイメントの一部になり、アプリケーションの起動時に初期化されます。この場合、ロギングを再構成することができます。 Hibernateは、slf4jロガー、look aroundの設定方法を使用します。