Spring-Boot logging with log4j2?
I've a better way:
Exclude logback logger:
<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>
Add log4j2 boot starter:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId></dependency>
Enjoy!
Try this:
Exclude spring-boot-starter-logging e.g.
<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>
Add dependencies for your logging interface e.g. slf4j
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-slf4j-impl</artifactId> <version>2.0.2</version></dependency>
Add other logging implementations pointing to chosen logging interface e.g.
<dependency> <groupId>org.slf4j</groupId> <artifactId>jcl-over-slf4j</artifactId></dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>jul-to-slf4j</artifactId></dependency><dependency> <groupId>org.slf4j</groupId> <artifactId>log4j-over-slf4j</artifactId></dependency>
Add your target logging implementation e.g.
<dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> <version>2.0.2</version></dependency><dependency> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> <version>2.0.2</version></dependency>
And it should work.
This is what worked for me. Having two additional exclusions. Else Application was not picking up log4j and was had conflict
Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]
<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.0.0</version> <exclusions> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-logging</artifactId> </exclusion> <exclusion> <artifactId>logback-classic</artifactId> <groupId>ch.qos.logback</groupId> </exclusion> <exclusion> <artifactId>log4j-over-slf4j</artifactId> <groupId>org.slf4j</groupId> </exclusion> </exclusions> </dependency><dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-log4j2</artifactId></dependency>