2013-06-14 17 views
5

Mam dwóch aplikantów. Jednym z nich jest aplikator DB, a drugi to SMTPAppender. Kiedy loguję ciąg ze specjalnym znacznikiem, chcę użyć zarówno mojego niestandardowego aplikatora db, jak i SMTPAppendera. Jednak nie chcę, aby zdefiniować dwa appenders everythime jak tak:Grupowanie aplikacji przy logbackach?

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

Chcę specjalne odniesienie że jak tak:

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

Należy zarówno zadzwonić CUSTOM_DB i CUSTOM_EMAIL. Jak mogę to zrobić w Logback przy pomocy slf4j?

+0

Fajne żądanie funkcji. Nie sądzę, żeby to istniało w logbackach. Możesz umieścić kilku programistów w dzienniku główny i ustawić flagę addycji na "true". –

+0

Jaka jest zależność pomiędzy rejestratorami i markerami w twoim przypadku użycia? – Ceki

+0

@Ceki Chcę mieć znacznik, który zaczyna się od CUSTOM. Będę logował się z markerem jak CUSTOM.DB, CUSTOM.EMAIL itp. Chcę dokonać dopasowania wzoru w moim appenderze, który sprawdzi czy dany marker zaczyna się od "CUSTOM". albo nie. Jeśli zaczyna się od "CUSTOM". i appender to CUSTOM_DB, które zapisze w DB, jeśli zaczyna się od "CUSTOM". a aplikantem jest CUSTOM_EMAIL, który wyśle ​​e-maila. To dlatego chcę grupę dodającą. Z drugiej strony, jeśli mogę napisać niestandardową grupę appender i wewnątrz niej, jeśli uda mi się utworzyć dopasowanie do wzorca, tak jak MARKER zaczyna się od "CUSTOM". czy nie, będzie to kolejna fajna rzecz. – kamaci

Odpowiedz

0

Wygląda na to, że trzeba napisać własną aplikację CompoundAppender. Szczegółowe informacje na temat pisania niestandardowego aplikacji do wprowadzania danych znajdują się pod adresem http://logback.qos.ch/manual/appenders.html.