0

I have configured syslog appender in my logback.xml

When I run my spring-boot application, I get the error "RFC5424 is not a valid syslog facility string"

below is my logback.xml

<?xml version="1.0" encoding="UTF-8"?>
<configuration  debug="true">
<property name="DEV_HOME" value="logs"></property>

<!--console appender-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
    <encoder>
        <pattern>[%d{yyyy-MM-dd HH:mm:ss}] - %msg%n</pattern>
    </encoder>
</appender>

<!--all logs-->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
    <file>${DEV_HOME}/debug.log</file>
    <encoder>
        <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
</appender>

<!--only controller class logs-->
<appender name="SPECIFIC_CLASS" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DEV_HOME}/sizeTimeOutputlogFile.log</file>
    <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
        <pattern>[%d{yyyy-MM-dd HH:mm:ss}] %p %c{1.} [%t]- %m%n</pattern>
    </encoder>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${DEV_HOME}/archived/sizeTimeOutputlogFile.%d{yyyy-MM-dd}.%i.log</fileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <!--Max Size of file to start Archive -->
            <maxFileSize>10KB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>

        <!-- Days till log history to keep -->
        <maxHistory>3</maxHistory>
    </rollingPolicy>
</appender>

<!--syslog appender-->
<appender name="SYSLOG" class="ch.qos.logback.classic.net.SyslogAppender">
    <syslogHost>127.0.0.1</syslogHost>
    <facility>LOCAL0</facility>
    <port>514</port>
    <throwableExcluded>true</throwableExcluded>
    <suffixPattern>%syslogStart{RFC5424}%n</suffixPattern>
</appender>

<!-- Setup the root category, add the appenders and set the default level -->
<root level="ERROR">
    <appender-ref ref="FILE"/>
    <appender-ref ref="STDOUT"/>
</root>
<!-- Specify the level specific to controller -->
<logger name="sysLogger" level="DEBUG" additivity="false">
    <appender-ref ref="SYSLOG" />
</logger>
<logger name="com.syslogspringboot.syslog.poc" level="ERROR" additivity="false">
    <appender-ref ref="STDOUT" />
    <appender-ref ref="SPECIFIC_CLASS" />
</logger>

with a different suffix pattern it works fine. Can someone help

manjosh
  • 438
  • 6
  • 28
  • I'm not familiar with logback, but it seems like RFC5424 is not supported, as pointed out in [this answer](https://stackoverflow.com/a/30676551/7558856). A [patch](https://jira.qos.ch/browse/LOGBACK-588) has been proposed in 2009 but it hasn't been integrated to this day *(Dec 22)*. – eDonkey Dec 23 '22 at 08:15

0 Answers0