2016-08-09 3 views
0

Ich habe ein Problem, einen generischen Appender zu haben, der leicht die meisten meiner Paketlogger fangen sollte. Ich habe eine CDI-Anwendung mit dem Logger von meinem Produzenten injiziert, den Code ist der folgendeWildfly 8.2.0 Paket-Level-Protokollierung Kategorie

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()); 
    } 
} 

Das ganz in Ordnung ist, wenn ich meine Klassen definieren, wie

package com.mycompany.rest; 

class RestService { 
@Inject 
private Logger log; 

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

und alle Klassen, die ich alles definieren funktioniert wie erwartet ABER Ich habe ein Problem mit generischen Loggern. Nehmen wir an, ich habe zwei Klassen

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

Wenn ich einen appender in Wildfly definieren, mit Code ähnlich

<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> 

alles funktioniert gut, aber ich würde gerne verstehen, wenn ich konfigurieren, dass diese

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

Es funktioniert überhaupt nicht. Mein Bedürfnis ist, einen Logger zu haben, der Paketniveau ist, bitte helfen Sie!

Antwort

0

Im Moment habe ich richtig kommentiert, aber ich habe den Handler in der Konfiguration fehlt, jetzt, da ich den Handler hinzugefügt der Logger funktioniert ordnungsgemäß.