Должно ли логбэк SyslogAppender
использовать пользовательское расширение LayoutBase
?
У меня есть VedLogLayout:
public class VedLogLayout extends LayoutBase<ILoggingEvent> {
private String version;
@Override
public String doLayout(ILoggingEvent event) {
Prefix prefix = new Prefix();
prefix.version = getVersion();
prefix.name = event.getMessage();
return prefix.toString() + System.lineSeparator();
}
public String getVersion() {
return version;
}
public void setVersion(String version) {
this.version = version;
}
}
и logback.xml:
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
<syslogHost>localhost</syslogHost>
<facility>LOCAL0</facility>
<encoder class="ch.qos.logback.core.encoder.LayoutWrappingEncoder">
<layout class="com.nws.vedica.model.log.VedLogLayout">
<version>${version}</version>
</layout>
</encoder>
</appender>
и я вижу, что logback может войти в мой rsyslog, это просто формат, который никогда не менялся в новом макете.
Когда я перемещаю этот кодер с пользовательским макетом в консольный апплет STDOUT, он выводит правильный формат, и я могу проверить, VedLogLayout
используется точкой останова.
Так почему он не работает дляSyslogAppender
?