好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

完美解决Logback configuration error detected的问题

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

错误日志

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

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 more

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

Disconnected from the target VM, address: '127.0.0.1:65035' , transport: 'socket'

Process finished with exit code - 1

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

?

1

2

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

?

1

2

3

4

5

6

7

8

9

10

11

12

< dependency >

           < groupId >org.springframework.boot</ groupId >

           < artifactId >spring-boot-starter-jdbc</ artifactId >

       </ dependency >

       < dependency >

           < groupId >org.springframework.boot</ groupId >

           < artifactId >spring-boot-starter-web</ artifactId >

       </ dependency >

       < dependency >

           < groupId >org.springframework.boot</ groupId >

           < artifactId >spring-boot-starter-log4j2</ artifactId >

     </ dependency >

上面的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日志呢,理论上是完全没有问题的,但是那样岂不是很费事,2种解决办法。

解决办法1

统一排除

?

1

2

3

4

5

6

7

8

9

10

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

解决办法2

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

答 : 能

?

1

2

3

4

5

6

7

8

9

10

< dependency >

          < groupId >org.springframework.boot</ groupId >

          < artifactId >spring-boot-starter-web</ artifactId >

          < exclusions >

              < exclusion >

                  < groupId >org.springframework.boot</ groupId >

                  < artifactId >spring-boot-starter-logging</ artifactId >

              </ exclusion >

          </ exclusions >

      </ dependency >

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

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

上面就是两种解决办法。希望能给大家一个参考,也希望大家多多支持。

原文链接:https://blog.csdn.net/m0_37034294/article/details/82801294

查看更多关于完美解决Logback configuration error detected的问题的详细内容...

  阅读:34次