Here is an appender for writing logs to a file (a piece of code from logback.xml):
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/ps_gate_server.log</file> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern>%d{dd-MM-yyyy} %d{HH:mm:ss.SSS} [%-19.19t] [%-5p] [%-1.40X{OperationName};%-1.10X{ClientID};%-1.20X{PayID}] %m%n </Pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>logs/ps_gate_server.%d{yyyy-MM-dd}.%i.log.zip</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> As you can see, I have the encoder ch.qos.logback.classic.encoder.PatternLayoutEncoder and everything works. I need to transfer the logs written to the file in JSONL format. To do this, I change the class encoder to net.logstash.logback.encoder.LogstashEncoder:
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>logs/ps_gate_server.log</file> <encoder class="net.logstash.logback.encoder.LogstashEncoder"> <Pattern>%d{dd-MM-yyyy} %d{HH:mm:ss.SSS} [%-19.19t] [%-5p] [%-1.40X{OperationName};%-1.10X{ClientID};%-1.20X{PayID}] %m%n </Pattern> </encoder> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <FileNamePattern>logs/ps_gate_server.%d{yyyy-MM-dd}.%i.log.zip</FileNamePattern> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>100MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> </appender> After that, when the program is started, in the logs directory, the program does not even create the ps_gate_server.log file. Tell me if anyone knows. All necessary jar files are available.