Have this configuration to show the output of logs to console in JSON format: logback.xml
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>
%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36} : %msg%n
</Pattern>
</layout>
</appender>
<appender name="json" class="ch.qos.logback.core.ConsoleAppender">
<layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
<jsonFormatter
class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter">
<prettyPrint>true</prettyPrint>
</jsonFormatter>
<timestampFormat>yyyy-MM-dd' 'HH:mm:ss.SSS</timestampFormat>
</layout>
</appender>
<logger name="com.example.demo" level="error" additivity="false">
<appender-ref ref="json" />
</logger>
<root level="error">
<appender-ref ref="json" />
</root>
That works but I need to configure it in the Spring YAML file.
spring:
profiles.active: dev
spring:
profiles: dev
logging:
level:
org.springframework: INFO
com.example.demo: INFO
pattern:
console: "%d %-5level %logger : %msg%n"