<?xml version="1.0" encoding="UTF-8"?> <configuration> <include resource="org/springframework/boot/logging/logback/defaults.xml"/> <springProperty scope="context" name="SPRING_APPLICATION_NAME" source="spring.application.name"/> <springProfile name="json-logging"> <appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender"> <layout class="ch.qos.logback.contrib.json.classic.JsonLayout"> <jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter"/> <timestampFormat>yyyy-MM-dd HH:mm:ss.SSS</timestampFormat> <appendLineSeparator>true</appendLineSeparator> </layout> </appender> </springProfile> <springProfile name="loki-logging"> <appender name="LOKI" class="com.github.loki4j.logback.Loki4jAppender"> <http> <url>https://telemetry.w9r.de:3100/loki/api/v1/push</url> <auth> <username>w9r</username> <password>x3G3PMPVUav8WmUckp.v6U-bxPdnXD</password> </auth> </http> <format> <label> <pattern>app=${SPRING_APPLICATION_NAME},instance=${HOSTNAME},level=%level</pattern> </label> <message> <pattern>l=%level h=${HOSTNAME} c=%logger t=%thread traceid=%X{traceId:--} spanid=%X{spanId:--} msg="%msg" %ex</pattern> </message> <sortByTime>true</sortByTime> </format> </appender> <root level="INFO"> <appender-ref ref="LOKI" /> </root> </springProfile> <springProfile name="!json-logging"> <include resource="org/springframework/boot/logging/logback/console-appender.xml"/> </springProfile> <root level="INFO"> <appender-ref ref="CONSOLE"/> </root> </configuration>