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