Skip to content

Spring App Name is not resolved properly #1396

@apolischuk

Description

@apolischuk

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:-}]");

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions