博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Logback configuration error detected的终极解决方案
阅读量:4094 次
发布时间:2019-05-25

本文共 25916 字,大约阅读时间需要 86 分钟。

今天在Springboot项目中替换log4j2日志的时候遇见的问题,闲话不多说

错误日志

Logging system failed to initialize using configuration from 'classpath:log4j2-dev.xml'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:67 - no applicable action for [Console], current ElementPath  is [[configuration][appenders][Console]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][Console][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:119 - no applicable action for [RollingFile], current ElementPath  is [[configuration][appenders][RollingFile]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][RollingFile][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@12:23 - no applicable action for [Policies], current ElementPath  is [[configuration][appenders][RollingFile][Policies]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@13:45 - no applicable action for [TimeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][TimeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@14:57 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@16:48 - no applicable action for [DefaultRolloverStrategy], current ElementPath  is [[configuration][appenders][RollingFile][DefaultRolloverStrategy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@21:79 - no applicable action for [RollingFile], current ElementPath  is [[configuration][appenders][RollingFile]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@22:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][RollingFile][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@23:23 - no applicable action for [Policies], current ElementPath  is [[configuration][appenders][RollingFile][Policies]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:45 - no applicable action for [TimeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][TimeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@25:57 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@27:48 - no applicable action for [DefaultRolloverStrategy], current ElementPath  is [[configuration][appenders][RollingFile][DefaultRolloverStrategy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@28:79 - no applicable action for [ThresholdFilter], current ElementPath  is [[configuration][appenders][RollingFile][ThresholdFilter]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@32:14 - no applicable action for [loggers], current ElementPath  is [[configuration][loggers]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@36:64 - no applicable action for [logger], current ElementPath  is [[configuration][loggers][logger]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@37:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@38:43 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@39:44 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:77 - no applicable action for [logger], current ElementPath  is [[configuration][loggers][logger]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@44:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@50:28 - no applicable action for [root], current ElementPath  is [[configuration][loggers][root]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:43 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@54:44 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]	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:114)	at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:309)	at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:277)	at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:240)	at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:213)	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)	at org.springframework.context.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.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:121)	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)	at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)	at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189)	at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131)	at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)java.lang.IllegalStateException: Failed to load ApplicationContext	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:124)	at org.springframework.test.context.support.DefaultTestContext.getApplicationContext(DefaultTestContext.java:83)	at org.springframework.test.context.web.ServletTestExecutionListener.setUpRequestContextIfNecessary(ServletTestExecutionListener.java:189)	at org.springframework.test.context.web.ServletTestExecutionListener.prepareTestInstance(ServletTestExecutionListener.java:131)	at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:230)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:228)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:287)	at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:289)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:247)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:94)	at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)	at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)	at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)	at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)	at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)	at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:61)	at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:70)	at org.junit.runners.ParentRunner.run(ParentRunner.java:363)	at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:191)	at org.junit.runner.JUnitCore.run(JUnitCore.java:137)	at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)	at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)	at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)	at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)Caused by: java.lang.IllegalStateException: 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:67 - no applicable action for [Console], current ElementPath  is [[configuration][appenders][Console]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][Console][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:119 - no applicable action for [RollingFile], current ElementPath  is [[configuration][appenders][RollingFile]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][RollingFile][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@12:23 - no applicable action for [Policies], current ElementPath  is [[configuration][appenders][RollingFile][Policies]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@13:45 - no applicable action for [TimeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][TimeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@14:57 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@16:48 - no applicable action for [DefaultRolloverStrategy], current ElementPath  is [[configuration][appenders][RollingFile][DefaultRolloverStrategy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@21:79 - no applicable action for [RollingFile], current ElementPath  is [[configuration][appenders][RollingFile]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@22:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][RollingFile][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@23:23 - no applicable action for [Policies], current ElementPath  is [[configuration][appenders][RollingFile][Policies]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:45 - no applicable action for [TimeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][TimeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@25:57 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@27:48 - no applicable action for [DefaultRolloverStrategy], current ElementPath  is [[configuration][appenders][RollingFile][DefaultRolloverStrategy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@28:79 - no applicable action for [ThresholdFilter], current ElementPath  is [[configuration][appenders][RollingFile][ThresholdFilter]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@32:14 - no applicable action for [loggers], current ElementPath  is [[configuration][loggers]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@36:64 - no applicable action for [logger], current ElementPath  is [[configuration][loggers][logger]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@37:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@38:43 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@39:44 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:77 - no applicable action for [logger], current ElementPath  is [[configuration][loggers][logger]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@44:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@50:28 - no applicable action for [root], current ElementPath  is [[configuration][loggers][root]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:43 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@54:44 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]	at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:316)	at org.springframework.boot.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:277)	at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:240)	at org.springframework.boot.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:213)	at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:172)	at org.springframework.context.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.test.context.SpringBootContextLoader.loadContext(SpringBootContextLoader.java:121)	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:98)	at org.springframework.test.context.cache.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:116)	... 24 moreCaused by: 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:67 - no applicable action for [Console], current ElementPath  is [[configuration][appenders][Console]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@5:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][Console][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:119 - no applicable action for [RollingFile], current ElementPath  is [[configuration][appenders][RollingFile]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][RollingFile][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@12:23 - no applicable action for [Policies], current ElementPath  is [[configuration][appenders][RollingFile][Policies]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@13:45 - no applicable action for [TimeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][TimeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@14:57 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@16:48 - no applicable action for [DefaultRolloverStrategy], current ElementPath  is [[configuration][appenders][RollingFile][DefaultRolloverStrategy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@21:79 - no applicable action for [RollingFile], current ElementPath  is [[configuration][appenders][RollingFile]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@22:96 - no applicable action for [PatternLayout], current ElementPath  is [[configuration][appenders][RollingFile][PatternLayout]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@23:23 - no applicable action for [Policies], current ElementPath  is [[configuration][appenders][RollingFile][Policies]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:45 - no applicable action for [TimeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][TimeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@25:57 - no applicable action for [SizeBasedTriggeringPolicy], current ElementPath  is [[configuration][appenders][RollingFile][Policies][SizeBasedTriggeringPolicy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@27:48 - no applicable action for [DefaultRolloverStrategy], current ElementPath  is [[configuration][appenders][RollingFile][DefaultRolloverStrategy]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@28:79 - no applicable action for [ThresholdFilter], current ElementPath  is [[configuration][appenders][RollingFile][ThresholdFilter]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@32:14 - no applicable action for [loggers], current ElementPath  is [[configuration][loggers]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@36:64 - no applicable action for [logger], current ElementPath  is [[configuration][loggers][logger]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@37:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@38:43 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@39:44 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@43:77 - no applicable action for [logger], current ElementPath  is [[configuration][loggers][logger]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@44:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][logger][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@50:28 - no applicable action for [root], current ElementPath  is [[configuration][loggers][root]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@52:42 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@53:43 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]ERROR in ch.qos.logback.core.joran.spi.Interpreter@54:44 - no applicable action for [appender-ref], current ElementPath  is [[configuration][loggers][root][appender-ref]]	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:114)	at org.springframework.boot.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:309)	... 38 moreDisconnected from the target VM, address: '127.0.0.1:65035', transport: 'socket'Process finished with exit code -1

首先我们看上面的错误日志

Logging system failed to initialize using configuration from 'classpath:log4j2-dev.xml'java.lang.IllegalStateException: Logback configuration error detected:

如果只看这两句的话我们可能会认为是我们的日志文件log4j2-dev.xml配置错了,或者路径找不到,其实不然。正解是我们pom文件配置的有问题,jar包存在冲突,下面来看下我们的pom文件吧

pom.xml

org.springframework.boot
spring-boot-starter-jdbc
org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-log4j2

上面的pom文件是最初报错时的配置文件,看上面的配置文件貌似没有问题,我们需使用log4j2日志的starter也已经引入了,但是这里我们需要注意一点就是我们在引入spring-boot-starter-web包的时候他里面默认使用了logback日志,这样就会产生日志包的冲突,其实不只是starter-web包默认引入的logback还有很多的包默认引入的logback包,看下图

在这里插入图片描述
上图中是这个pom文件的jiar包结构示意图,log4j2部分就是我们新引入的spring-boot-starter-log4j2包,上图中我通过黄线画出了现在系统中所有logback的引入,可以看出所有引用,这里涉及到几个包,分别是web包,mybatis包,jdbc包。那我们现在要解决jar包冲突的问题是不是需要每个包下都排除默认引用的logger日志呢,理论上是完全没有问题的,但是那样岂不是很费事,解决办法

解决办法1(亲测有效)

统一排除

org.springframework.boot
spring-boot-starter
org.springframework.boot
spring-boot-starter-logging

解决办法2

那我只导用了web包,不想导入spring-boot-starter能不能解决呢?
答 :能

org.springframework.boot
spring-boot-starter-web
org.springframework.boot
spring-boot-starter-logging

看见第二个解决办法,问题是不是来了。很多包都默认使用的logback,你单独排除了web包是不是还会出现这个问题

答 :是的会出现,这里就需要知道pom文件的加载顺序了。pom文件的加载顺序也是从上至下执行,那么我们就需要把web包放到pom文件中的第一位,在向下执行的时候便会排除所有的默认logger

你可能感兴趣的文章
elasticsearch篇之SearchAPI
查看>>
kubernetes高可用架构
查看>>
[集群监控]使用Prometheus + grafana + node-exporter
查看>>
[集群监控]使用cAdvisor + Heapster + InfluxDB + Grafana
查看>>
Docker技术应用场景
查看>>
管理应用程序数据
查看>>
docker中搭建LNMP平台
查看>>
docker网络管理
查看>>
镜像仓库
查看>>
Portainer容器管理工具
查看>>
【容器监控】cAdvisor+InfluxDB+Grafana
查看>>
【docker案例】项目打包部署
查看>>
elasticsearch的分布式特性
查看>>
logstash篇之入门与运行机制
查看>>
logstash篇之插件
查看>>
logstash篇之监控运维
查看>>
kibana
查看>>
saltstack基础
查看>>
saltstack使用
查看>>
saltstack API的使用
查看>>