Q:

Spring boot 1.4 externalize log4j xml

Before spring boot 1.4 migration, i was able to keep the log4j.xml outside of the jar using the application.properties config [logging.config=conf/log4j.xml]. The config folder and application jar resides under same folder. 
After spring boot 1.4 migration, the log4j.xml is not get picked and it throws filenotfound exception. Does spring 1.4 loads the config and log xml differently from previous version?

A:

spring-boot is probably trying to use its default logger, logback. You need to exclude logback or spring-boot-starter-logging. 
Spring documentation on how-to-logging:

Spring Boot supports Log4j 2 for logging configuration if it is on the
  classpath. If you are using the starters for assembling dependencies
  that means you have to exclude Logback and then include log4j 2
  instead.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-logging</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>

