6
votes

Logback is throwing me below error in my spring boot app

java.lang.IllegalStateException: Logback configuration error detected: ERROR in ch.qos.logback.core.joran.spi.Interpreter@3:16 - no applicable action for [Appenders], current ElementPath is [[Configuration][Appenders]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@4:53 - no applicable action for [Console], current ElementPath is [[Configuration][Appenders][Console]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:92 - no applicable action for [PatternLayout], current ElementPath is [[Configuration][Appenders][Console][PatternLayout]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@9:49 - no applicable action for [RollingFile], current ElementPath is [[Configuration][Appenders][RollingFile]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:28 - no applicable action for [PatternLayout], current ElementPath is [[Configuration][Appenders][RollingFile][PatternLayout]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:26 - no applicable action for [pattern], current ElementPath is [[Configuration][Appenders][RollingFile][PatternLayout][pattern]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@13:23 - no applicable action for [Policies], current ElementPath is [[Configuration][Appenders][RollingFile][Policies]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@14:59 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath is [[Configuration][Appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@16:50 - no applicable action for [DefaultRolloverStrategy], current ElementPath is [[Configuration][Appenders][RollingFile][DefaultRolloverStrategy]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@20:14 - no applicable action for [Loggers], current ElementPath is [[Configuration][Loggers]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@21:29 - no applicable action for [Root], current ElementPath is [[Configuration][Loggers][Root]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@22:46 - no applicable action for [AppenderRef], current ElementPath is [[Configuration][Loggers][Root][AppenderRef]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@23:42 - no applicable action for [AppenderRef], current ElementPath is [[Configuration][Loggers][Root][AppenderRef]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@25:76 - no applicable action for [Logger], current ElementPath is [[Configuration][Loggers][Logger]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@26:44 - no applicable action for [AppenderRef], current ElementPath is [[Configuration][Loggers][Logger][AppenderRef]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@27:40 - no applicable action for [AppenderRef], current ElementPath is [[Configuration][Loggers][Logger][AppenderRef]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@29:68 - no applicable action for [Logger], current ElementPath is [[Configuration][Loggers][Logger]] ERROR in ch.qos.logback.core.joran.spi.Interpreter@30:44 - no applicable action for [AppenderRef], current ElementPath is [[Configuration][Loggers][Logger][AppenderRef]] at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:162) at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSpecificConfig(AbstractLoggingSystem.java:66) at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:56) at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:115) at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:308) at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:276) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:239) at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:212) at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172) at org.springframework.enter code herecontext.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:165) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:139) at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:122) at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:74) at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:54) at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:325) at org.springframework.boot.SpringApplication.run(SpringApplication.java:296) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1118) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1107)

My logback configuration is:

<Configuration status="WARN">
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
        <RollingFile name="RollingFile" fileName="${sys:home}/logs/log"
            filePattern="${sys:home}/logs/mylog-%i.log" bufferedIO="false"
            immediateFlush="true" append="true">
            <PatternLayout>
                <pattern>%d %p [%t] %c{1.} %m%n</pattern>
            </PatternLayout>
            <Policies>
                <SizeBasedTriggeringPolicy size="20 MB" />
            </Policies>
            <DefaultRolloverStrategy max="100" />
        </RollingFile>
    </Appenders>

    <Loggers>
        <Root level="error">
            <AppenderRef ref="RollingFile" />
            <AppenderRef ref="Console" />
        </Root>
        <Logger name="org.springframework" level="info" additivity="false">
            <AppenderRef ref="RollingFile"></AppenderRef>
            <AppenderRef ref="Console"></AppenderRef>
        </Logger>
        <Logger name="com.myproj" level="debug" additivity="false">
            <AppenderRef ref="RollingFile"></AppenderRef>
        </Logger>
    </Loggers>
</Configuration>
1
I'm not 100% sure but it looks like you have incorrect syntax of logback configuration. Refer to logback.qos.ch/manual/configuration.htmlNikolai Shevchenko

1 Answers

6
votes

This is probably log4j2 configuration. And to support it your Spring Boot pom file must be updated as following:

<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>

See more details here: https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto-logging (section 8.2 Configure Log4j for Logging).