<?xml version="1.0" encoding="UTF-8"?>
-<configuration>
- <include resource="org/springframework/boot/logging/logback/defaults.xml"/>
-
- <springProperty scope="context" name="springAppName" source="spring.application.name"/>
- <!-- Example for logging into the build folder of your project -->
- <property name="LOG_FILE" value="${BUILD_FOLDER:-build}/${springAppName}"/>
+Unresolved directive in intro.adoc - include::https://raw.githubusercontent.com/spring-cloud-samples/sleuth-documentation-apps/master/service1/src/main/resources/logback-spring.xml[]
- <!-- You can override this to have a custom pattern -->
- <property name="CONSOLE_LOG_PATTERN"
- value="%clr(%d{yyyy-MM-dd HH:mm:ss.SSS}){faint} %clr(${LOG_LEVEL_PATTERN:-%5p}) %clr(${PID:- }){magenta} %clr(---){faint} %clr([%15.15t]){faint} %clr(%-40.40logger{39}){cyan} %clr(:){faint} %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}"/>
+NOTE: If you're using a custom `logback-spring.xml` then you have to pass the `spring.application.name` in
+`bootstrap` instead of `application` property file. Otherwise your custom logback file won't read the property properly.
- <!-- Appender to log to console -->
- <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
- <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
- <!-- Minimum logging level to be presented in the console logs-->
- <level>DEBUG</level>
- </filter>
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- <charset>utf8</charset>
- </encoder>
- </appender>
+=== Adding to the project
- <!-- Appender to log to file -->
- <appender name="flatfile" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${LOG_FILE}</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${LOG_FILE}.%d{yyyy-MM-dd}.gz</fileNamePattern>
- <maxHistory>7</maxHistory>
- </rollingPolicy>
- <encoder>
- <pattern>${CONSOLE_LOG_PATTERN}</pattern>
- <charset>utf8</charset>
- </encoder>
- </appender>
-
- <!-- Appender to log to file in a JSON format -->
- <appender name="logstash" class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${LOG_FILE}.json</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <fileNamePattern>${LOG_FILE}.json.%d{yyyy-MM-dd}.gz</fileNamePattern>
- <maxHistory>7</maxHistory>
- </rollingPolicy>
- <encoder class="net.logstash.logback.encoder.LoggingEventCompositeJsonEncoder">
- <providers>
- <timestamp>
- <timeZone>UTC</timeZone>
- </timestamp>
- <pattern>
- <pattern>
- {
- "severity": "%level",
- "service": "${springAppName:-}",
- "trace": "%X{X-B3-TraceId:-}",
- "span": "%X{X-B3-SpanId:-}",
- "parent": "%X{X-B3-ParentSpanId:-}",
- "exportable": "%X{X-Span-Export:-}",
- "pid": "${PID:-}",
- "thread": "%thread",
- "class": "%logger{40}",
- "rest": "%message"
- }
- </pattern>
- </pattern>
- </providers>
- </encoder>
- </appender>
-
- <root level="INFO">
- <appender-ref ref="console"/>
- <!-- uncomment this to have also JSON logs -->
- <!--<appender-ref ref="logstash"/>-->
- <!--<appender-ref ref="flatfile"/>-->
- </root>
-</configuration>
-