While upgrading to Spring boot 3.0.x, if consul contains below property:

logging:
  config: ${spring.cloud.consul.scheme}://${spring.cloud.consul.host}:${spring.cloud.consul.port}/v1/kv/${spring.cloud.consul.config.prefix}/logger.xml?raw=true&xml

it works till spring boot 3.0.4, since LogbackLoggingSystem class expects url to end with "xml" SpringBoot Logging config URLs with query parameters are not detected as XML

But, with versions above 3.0.4, this has changed and expects logging url to end with ".xml" SpringBoot Logging config URLs with query parameters are not detected as XML

The problem is that the issue could have been found easily, if it would have printed in logs. But with consul config, nothing prints in logs when this error occurs. Please document this in spring boot 3.0.4+ changes

Comment From: snicoll

But with consul config, nothing prints in logs when this error occurs.

I'd argue you should be reporting the issue to Consul. There's nothing that we can do here I am afraid. Recent version of logback only offers XML-based configuration so we just adapted to that. If you try to use another file we throw an exception. I don't know why Consul doesn't display it.

If it turns out this isn't Consul specific, we can reopen this issue.

Comment From: quaff

@snicoll I think it's a regression, /logger.xml?raw=true&xml is xml.

Comment From: philwebb

I think I agree, but I think we should look at fixing the detection logic rather than documenting the limitation.

Comment From: scottfrederick

Closing in favor of #37039