2013-06-14 8 views
5

Ich habe zwei Appender. Einer von ihnen ist DB Appender und der andere ist SMTPAppender. Wenn ich eine Zeichenfolge mit einem speziellen Marker protokolliere, möchte ich sowohl meinen benutzerdefinierten db appender als auch SMTPAppender verwenden. Allerdings möchte ich nicht zwei Appen everythime definieren, wie wie folgt aus:Appender bei Logback gruppieren?

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

Ich möchte einen besonderen Hinweis, dass so wie folgt aus:

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

Es sollte sowohl nennen CUSTOM_DB und CUSTOM_EMAIL. Wie kann ich das bei Logback mit slf4j tun?

+0

Coole Feature-Anfrage. Ich denke nicht, dass dies im Logback existiert. Sie können einen Haufen Appender in den Root-Logger setzen und Ihr Additivitäts-Flag auf 'true' setzen. –

+0

Welcher Zusammenhang besteht zwischen Loggern und Markern in Ihrem Anwendungsfall? – Ceki

+0

@Ceki Ich möchte einen Marker haben, der mit CUSTOM beginnt. Ich werde mit einem Marker wie CUSTOM.DB, CUSTOM.EMAIL etc. loggen. Ich möchte eine Musterübereinstimmung bei meinem Appender machen, die prüft, ob jeder gegebene Marker mit "CUSTOM" beginnt. oder nicht. Wenn es mit "BENUTZERDEFINIERT" beginnt und appender ist CUSTOM_DB es wird in DB schreiben, wenn es mit "CUSTOM." beginnt und Appender ist CUSTOM_EMAIL es wird eine E-Mail senden. Deshalb möchte ich eine Appender-Gruppe. Auf der anderen Seite, wenn ich eine benutzerdefinierte Appender-Gruppe schreiben kann und drinnen, wenn ich ein Pattern-Match erstellen kann, wie MARKER mit "CUSTOM" beginnt. oder nicht, es wird eine andere coole Sache sein. – kamaci

Antwort