2013-06-14 2 views
5

У меня есть два приложения. Один из них - DB appender, а другой - SMTPAppender. Когда я записываю строку со специальным маркером, я хочу использовать как пользовательский db appender, так и SMTPAppender. Однако я не хочу, чтобы определить два appenders everythime, как так:Группировка приложений при регистрации?

<logger name="com.MyClass" level="DEBUG" additivity="false"> 
    <appender-ref ref="CUSTOM_DB"/> 
    <appender-ref ref="CUSTOM_EMAIL"/> 
</logger> 

Я хочу специальную ссылку, которая, как так:

<appender-group ref="CUSTOM_COMBO"> 
    <appender-ref ref="CUSTOM_DB"/> 
    <appender-ref ref="CUSTOM_EMAIL"/> 
</appender-group> 

<logger name="com.MyClass" level="DEBUG" additivity="false"> 
    <appender-ref ref="CUSTOM_COMBO"/> 
</logger> 

Он должен как позвонить CUSTOM_DB и CUSTOM_EMAIL. Как я могу это сделать в Logback с slf4j?

+0

Прохладный запрос функции. Я не думаю, что это существует в журнале. Вы можете добавить кучу добавлений в корневой журнал и установить флаг аддитивности в true. –

+0

Какова связь между регистраторами и маркерами в вашем случае использования? – Ceki

+0

@Ceki Я хочу иметь маркер, который начинается с CUSTOM. Я буду регистрировать маркер, как CUSTOM.DB, CUSTOM.EMAIL и т. Д. Я хочу сделать совпадение шаблона в своем приложении, которое будет проверять, что данный маркер начинается с «CUSTOM». или нет. Если он начинается с «CUSTOM». и appender - CUSTOM_DB, он будет записывать в БД, если он начинается с «CUSTOM». и appender - CUSTOM_EMAIL, он отправит электронное письмо. Вот почему я хочу группу appender. С другой стороны, если я могу написать пользовательскую группу-приятель и внутри нее, если я могу сделать совпадение с шаблоном, как будто MARKER начинается с «CUSTOM». или нет, это будет еще одна крутая вещь. – kamaci

ответ

0

Похоже, что вам нужно будет написать собственный CompoundAppender, подробности о том, как написать пользовательский appender, равны http://logback.qos.ch/manual/appenders.html.