-
Notifications
You must be signed in to change notification settings - Fork 781
Description
Having next logback custom config:
`
<springProperty scope="context" name="spring.application.name" source="spring.application.name"/>
<property name="CONSOLE_LOG_PATTERN" value="${spring.application.name} ${LOG_LEVEL_PATTERN} %n"/>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
<charset>utf8</charset>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE"/>
</root>
`
I got next in console:
cm DEBUG [-,,,]
So, as you can see application name is taken from spring config correctly, but TraceEnvironmentPostProcessor generetes wrong format for log level pattern in situation when Zipkin service name is absent but Spring App Name is present.
map.put("logging.pattern.level", "%5p [${spring.zipkin.service.name:" + "${spring.application.name:-}},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]");
Line 51 in e6b78d2
| map.put("logging.pattern.level", "%5p [${spring.zipkin.service.name:" |
You missed - after spring.zipkin.service.name: So, correct format is:
%5p [${spring.zipkin.service.name:-${spring.application.name:-}},%X{X-B3-TraceId:-},%X{X-B3-SpanId:-},%X{X-Span-Export:-}]
P.S. Truly speaking, I don't understand why you did implement that post processor. Why should people use formatting like that? I think it is better to pass variables to MDC as it happens right now and let people configure logging as they want.