2016-08-09 8 views
0

私のパッケージロガーのほとんどを簡単に捕まえるはずの、より一般的なアペンダーを使用しようとすると問題が発生します。 私はWildfly 8.2.0パッケージレベルのロギングカテゴリ

package com.mycompany.rest; 

class RestService { 
@Inject 
private Logger log; 

public void myLogTest(){ 
log.fine("My log line"); 
} 
} 

と私はすべてを定義したクラスと同様、コードは、私は私のクラスを定義する際に、かなり大丈夫だ、次の

package com.mycompany.common.producers; 

import java.util.logging.Logger; 

import javax.enterprise.inject.Produces; 
import javax.enterprise.inject.spi.InjectionPoint; 

public class LoggerProducer { 


    @Produces 
    public Logger produceLogger(InjectionPoint injectionPoint){ 
     return Logger.getLogger(injectionPoint.getMember().getDeclaringClass().getName()); 
    } 
} 

である私のプロデューサー、から注入されたロガーでCDIのアプリケーションを持っています期待どおりに動作します BUT 一般的なロガーに問題があります。 2つのクラスがあるとします。

com.mycompany.rest.RestService; com.mycompany.rest.SecondRestService

私は

<logger category="com.mycompany.rest.RestService" use-parent-handlers="true"> 
    <level name="FINE"/> 
     <handlers> 
     <handler name="MYCOMPANY"/> 
    </handlers> 
</logger> 
<logger category="com.mycompany.rest.SecondRestService" use-parent-handlers="true"> 
    <level name="FINE"/> 
     <handlers> 
     <handler name="MYCOMPANY"/> 
    </handlers> 
</logger> 

のようなコードで、Wildflyでアペンダを定義すると、すべてが素晴らしい作品が、私はこの

を設定する場合、私は、理解したいのですが
<logger category="com.mycompany.rest" use-parent-handlers="true"> 
    <level name="FINE"/> 
     <handlers> 
     <handler name="MYCOMPANY"/> 
    </handlers> 
</logger> 

全く動作しません。私の必要性は、パッケージレベルのロガーを持っていることです 助けてください!

答えて

0

現時点で私は正しくコメントしていましたが、コンフィグレーションでハンドラが不足していたため、ロガーが正常に動作しているハンドラを追加しました。

関連する問題