2011-09-01 1 views
2

Je suis en train de convertir mon fichier logback.xml à groovy et je me pose avec ce défi d'ajouter des appenders à mon appender personnalisé!Comment ajouter plusieurs appenders à mon Custom Appender en utilisant la configuration groovy?

Actuellement, je fais comme ça:

<appender name="MyCustomAppender" class="url.MyCustomAppender"> 
    <param name="BufferSize" value="10000"/> 
    <param name="Blocking" value="true"/> 
    <appender-ref ref="FILE"/> 
    <!-- <appender-ref ref="CONSOLE"/> --> 
    <appender-ref ref="CONSOLE_ERR"/> 
</appender> 

J'ai essayé quelque chose comme ça avec groovy mais il échoue:

appender("MyCustomAppender", MyCustomAppender) { 
    BufferSize = 10000 
    Blocking = true 
    appender-ref('ref':"CONSOLE_ERR"); 
     appender-ref('ref':"FILE"); 
    } 

Je ne peux pas changer le appender personnalisé comme il est en code partagé , ce n'est pas une solution. Je voudrais juste faire exactement la même chose qui se passe dans XML, mais dans groovy.

Répondre

2

Essayez ceci:

def consoleErrAppender = appenderList.find { it -> it.name == "CONSOLE_ERR" } 
def fileAppender = appenderList.find { it -> it.name == "FILE" } 

appender("MyCustomAppender", MyCustomAppender) { 
    BufferSize = 10000 
    Blocking = true 
    appender = consoleErrAppender 
    appender = fileAppender  
} 

Je suppose que votre MyCustomAppender implémente l'interface AppenderAttachable (ou au moins a une méthode public void addAppender(Appender<E> newAppender)).

+0

Salut merci! ça a marché! – Raj

Questions connexes