xan*_*key 7 java spring classcastexception spring-boot spring-cloud
我的应用程序启动时遇到问题。在ClassCastException上配置日志级别时,应用程序失败java.util.HashMap cannot be cast to org.springframework.boot.logging.LogLevel。
我尝试logging.level.root=INFO在我的设置,application.properties并发生相同的错误。不知道还有什么尝试。
我刚刚将其升级到SpringBoot 2.x,特别是使用了此依赖项BOM:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${springframework.boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
Run Code Online (Sandbox Code Playgroud)
请找到依赖关系树的相关部分:
[INFO] +- org.springframework.boot:spring-boot-starter-web:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-starter:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | | +- org.springframework.boot:spring-boot-starter-logging:jar:2.2.0.RELEASE:compile
[INFO] | | | +- ch.qos.logback:logback-classic:jar:1.2.3:compile
[INFO] | | | | \- ch.qos.logback:logback-core:jar:1.2.3:compile
[INFO] | | | +- org.apache.logging.log4j:log4j-to-slf4j:jar:2.12.1:compile
[INFO] | | | | \- org.apache.logging.log4j:log4j-api:jar:2.12.1:compile
[INFO] | | | \- org.slf4j:jul-to-slf4j:jar:1.7.28:compile
[INFO] | | +- org.springframework:spring-core:jar:5.2.0.RELEASE:compile
[INFO] | | | \- org.springframework:spring-jcl:jar:5.2.0.RELEASE:compile
[INFO] | | \- org.yaml:snakeyaml:jar:1.25:runtime
[INFO] | +- org.springframework.boot:spring-boot-starter-json:jar:2.2.0.RELEASE:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jdk8:jar:2.10.0:compile
[INFO] | | +- com.fasterxml.jackson.datatype:jackson-datatype-jsr310:jar:2.10.0:compile
[INFO] | | \- com.fasterxml.jackson.module:jackson-module-parameter-names:jar:2.10.0:compile
[INFO] | +- org.springframework.boot:spring-boot-starter-validation:jar:2.2.0.RELEASE:compile
[INFO] | | +- jakarta.validation:jakarta.validation-api:jar:2.0.1:compile
[INFO] | | \- org.hibernate.validator:hibernate-validator:jar:6.0.17.Final:compile
[INFO] | | \- org.jboss.logging:jboss-logging:jar:3.4.1.Final:compile
[INFO] | +- org.springframework:spring-web:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-webmvc:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-aop:jar:5.2.0.RELEASE:compile
[INFO] | +- org.springframework:spring-context:jar:5.2.0.RELEASE:compile
[INFO] | \- org.springframework:spring-expression:jar:5.2.0.RELEASE:compile
[INFO] +- org.springframework.boot:spring-boot-starter-tomcat:jar:2.2.0.RELEASE:provided
[INFO] | +- jakarta.annotation:jakarta.annotation-api:jar:1.3.5:compile
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-core:jar:9.0.27:provided
[INFO] | +- org.apache.tomcat.embed:tomcat-embed-el:jar:9.0.27:provided
[INFO] | \- org.apache.tomcat.embed:tomcat-embed-websocket:jar:9.0.27:provided
[INFO] +- org.springframework.boot:spring-boot-starter-actuator:jar:2.2.0.RELEASE:compile
[INFO] | +- org.springframework.boot:spring-boot-actuator-autoconfigure:jar:2.2.0.RELEASE:compile
[INFO] | | \- org.springframework.boot:spring-boot-actuator:jar:2.2.0.RELEASE:compile
[INFO] | \- io.micrometer:micrometer-core:jar:1.3.0:compile
[INFO] | +- org.hdrhistogram:HdrHistogram:jar:2.1.11:compile
[INFO] | \- org.latencyutils:LatencyUtils:jar:2.0.3:compile
Run Code Online (Sandbox Code Playgroud)
[INFO] | | +- org.springframework.cloud:spring-cloud-starter-oauth2:jar:2.0.0.RELEASE:compile
[INFO] | | | +- org.springframework.cloud:spring-cloud-starter-security:jar:2.0.0.RELEASE:compile
[INFO] | | | | +- org.springframework.cloud:spring-cloud-starter:jar:2.0.0.RELEASE:compile
[INFO] | | | | | +- org.springframework.cloud:spring-cloud-context:jar:2.0.0.RELEASE:compile
[INFO] | | | | | | \- org.springframework.security:spring-security-crypto:jar:5.2.0.RELEASE:compile
[INFO] | | | | | +- org.springframework.cloud:spring-cloud-commons:jar:2.0.0.RELEASE:compile
[INFO] | | | | | \- org.springframework.security:spring-security-rsa:jar:1.0.5.RELEASE:compile
[INFO] | | | | \- org.springframework.cloud:spring-cloud-security:jar:2.0.0.RELEASE:compile
[INFO] | | | | \- org.springframework.boot:spring-boot-starter-security:jar:2.2.0.RELEASE:compile
[INFO] | | | \- org.springframework.security.oauth.boot:spring-security-oauth2-autoconfigure:jar:2.0.0.RELEASE:compile
[INFO] | | | \- org.springframework.security:spring-security-jwt:jar:1.0.9.RELEASE:compile
[INFO] | | | \- org.bouncycastle:bcpkix-jdk15on:jar:1.56:compile
[INFO] | | | \- org.bouncycastle:bcprov-jdk15on:jar:1.56:compile
Run Code Online (Sandbox Code Playgroud)
这是堆栈跟踪:
Caused by: java.lang.ClassCastException: java.util.HashMap cannot be cast to org.springframework.boot.logging.LogLevel
at java.util.HashMap.forEach(HashMap.java:1289)
at org.springframework.boot.context.logging.LoggingApplicationListener.setLogLevels(LoggingApplicationListener.java:398)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeFinalLoggingLevels(LoggingApplicationListener.java:337)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:288)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:245)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:222)
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:127)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:76)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:53)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:345)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:308)
Run Code Online (Sandbox Code Playgroud)
application.properties
logging.level.root=warn
logging.level.org.springframework.web=debug
logging.level.org.hibernate=error
logging.level.com.my.package.name=error
Run Code Online (Sandbox Code Playgroud)
尝试将日志记录值设置为 WARN 和debug=true并进行检查。
在你的属性文件中设置这样的值
logging.level.root=warn
logging.level.org.springframework.web=debug
logging.level.org.hibernate=error
Run Code Online (Sandbox Code Playgroud)
在log4j.xml中它看起来像这样
<root>
<level value="WARN"/>
<appender-ref ref="console" />
<appender-ref ref="file"/>
</root>
Run Code Online (Sandbox Code Playgroud)
有关 Spring Boot 日志记录的更多详细信息,请阅读以下链接 https://howtodoinjava.com/spring-boot2/logging/spring-boot-logging-configurations/
| 归档时间: |
|
| 查看次数: |
325 次 |
| 最近记录: |