balduncle balduncle - 1 year ago 104
Groovy Question

How can I include xml configuration in logback.groovy

I'm writing a Spring Boot app and need the flexibility of controlling my logback configuration using Groovy. In Spring Boot all I have to do is create src/main/resources/logback.groovy and it is automatically used for configuration.

What I would like to do though is start with Spring Boot's default logback configuration, and just override or modify settings as needed.

If I were using logback.xml instead of logback.groovy I could do something like the following.

<?xml version="1.0" encoding="UTF-8"?>
<include resource="org/springframework/boot/logging/logback/base.xml"/>
<logger name="org.springframework.web" level="DEBUG"/>

Is there something similar to the include line above that I can use in logback.groovy? I can look at the contents of base.xml and it's other included files to see how to replicate this manually, but it would add a bit of boilerplate code I'd like to avoid.

Thanks for any help you can provide.

Answer Source

There's an online tool that translates given logback.xml file to equivalent logback.groovy. In your case it resulted in:

// Built on Thu Jul 16 09:35:34 CEST 2015 by logback-translator
// For more information on configuration files in Groovy
// please see

// For assistance related to this tool or configuration files
// in general, please contact the logback user mailing list at

// For professional support please see

import static ch.qos.logback.classic.Level.DEBUG

logger("org.springframework.web", DEBUG)

When it comes to <include> it's not supported for groovy configurations.