【异常】ERROR in ch.qos.logback.core.joran.spi.Interpreter@159:22 - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]
一、异常信息
Exception in thread "restartedMain" java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:)
at java.lang.reflect.Method.invoke(Method.java:)
at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:)
Caused by: org.springframework.context.ApplicationContextException: Failed to start bean 'outputBindingLifecycle'; nested exception is java.lang.IllegalStateException: java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.joran.spi.Interpreter@: - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:)
at org.springframework.context.support.DefaultLifecycleProcessor.access$(DefaultLifecycleProcessor.java:)
at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:)
at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:)
at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:)
at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.finishRefresh(ServletWebServerApplicationContext.java:)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:)
at com.zbq.user.ZbqUserApplication.main(ZbqUserApplication.java:)
... more
Caused by: java.lang.IllegalStateException: java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.joran.spi.Interpreter@: - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:)
at org.springframework.boot.context.logging.LoggingApplicationListener.initialize(LoggingApplicationListener.java:)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEnvironmentPreparedEvent(LoggingApplicationListener.java:)
at org.springframework.boot.context.logging.LoggingApplicationListener.onApplicationEvent(LoggingApplicationListener.java:)
at org.springframework.context.event.SimpleApplicationEventMulticaster.doInvokeListener(SimpleApplicationEventMulticaster.java:)
at org.springframework.context.event.SimpleApplicationEventMulticaster.invokeListener(SimpleApplicationEventMulticaster.java:)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:)
at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:)
at org.springframework.boot.context.event.EventPublishingRunListener.environmentPrepared(EventPublishingRunListener.java:)
at org.springframework.boot.SpringApplicationRunListeners.environmentPrepared(SpringApplicationRunListeners.java:)
at org.springframework.boot.SpringApplication.prepareEnvironment(SpringApplication.java:)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:)
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:)
at org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinderInstance(DefaultBinderFactory.java:)
at org.springframework.cloud.stream.binder.DefaultBinderFactory.getBinder(DefaultBinderFactory.java:)
at org.springframework.cloud.stream.binding.BindingService.getBinder(BindingService.java:)
at org.springframework.cloud.stream.binding.BindingService.bindProducer(BindingService.java:)
at org.springframework.cloud.stream.binding.BindableProxyFactory.bindOutputs(BindableProxyFactory.java:)
at org.springframework.cloud.stream.binding.OutputBindingLifecycle.doStartWithBindable(OutputBindingLifecycle.java:)
at java.util.Iterator.forEachRemaining(Iterator.java:)
at java.util.Spliterators$IteratorSpliterator.forEachRemaining(Spliterators.java:)
at java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:)
at org.springframework.cloud.stream.binding.AbstractBindingLifecycle.start(AbstractBindingLifecycle.java:)
at org.springframework.cloud.stream.binding.OutputBindingLifecycle.start(OutputBindingLifecycle.java:)
at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:)
... more
Caused by: java.lang.IllegalStateException: Logback configuration error detected:
ERROR in ch.qos.logback.core.joran.spi.Interpreter@: - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]
at org.springframework.boot.logging.logback.LogbackLoggingSystem.loadConfiguration(LogbackLoggingSystem.java:)
at org.springframework.boot.logging.AbstractLoggingSystem.initializeWithSpecificConfig(AbstractLoggingSystem.java:)
at org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:)
at org.springframework.boot.logging.logback.LogbackLoggingSystem.initialize(LogbackLoggingSystem.java:)
at org.springframework.boot.context.logging.LoggingApplicationListener.initializeSystem(LoggingApplicationListener.java:)
... more
二、原因分析
从异常信息no applicable action for [charset]可以看出,是因为charset标签不可用导致,可能是logback版本的原因。
我的配置是这样的,存在charset标签:
<!-- ALL -->
<appender name="FILE-ALL" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!--日志文件的路径及文件名-->
<!--被写入的文件名,可以是相对目录,也可以是绝对目录,如果上级目录不存在会自动创建,没有默认值-->
<file>${logback.path}/${application.name}-all.log</file>
<!-- 如果 true,事件被追加到现存文件尾部。如果 false,清空现存文件.默认为 true -->
<append>true</append>
<!--临界值过滤器,过滤掉低于指定临界值的日志。当日志级别等于或高于临界值时,过滤器返回NEUTRAL;当日志级别低于临界值时,日志会被拒绝-->
<!-- 此日志文件只记录INFO级别的 -->
<!--<filter class="ch.qos.logback.classic.filter.ThresholdFilter">-->
<!--<level>INFO</level>-->
<!--</filter>-->
<!--当发生滚动时,决定 RollingFileAppender 的行为-->
<!--日志记录器的滚动策略,按日期,按大小记录,涉及文件移动和重命名-->
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<!-- 归档的日志文件的路径,例如今天是2018--21日志,当前写的日志文件路径为file节点指定,可以将此文件与file指定文件路径设置为不同路径,从而将当前日志文件或归档日志文件置不同的目录。
而2018--21的归档日志文件在由fileNamePattern指定。%d{yyyy-MM-dd}指定日期格式,%i指定索引 -->
<!--即file和fileNamePattern同时制定,当天日志名由file决定,前一天的文件名将自动改为fileNamePattern的值-->
<!-- 若要加一层时间目录 <fileNamePattern>${logback.path}/%d{yyyy-MM-dd,aux}/${logback.info.filename}.%i.log</fileNamePattern>-->
<!--<fileNamePattern>${logback.path}/${application.name}-info.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>-->
<fileNamePattern>${logback.path}/${application.name}-all.%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
<!--控制被保留的归档文件的最大数量,超出数量就删除旧文件-->
<!--日志文件保留天数 -->
<maxHistory>${logback.max-history}</maxHistory>
<!--指定文件的大小-->
<maxFileSize>${logback.max-file-size}</maxFileSize>
</rollingPolicy>
<!--负责两件事,一是把日志信息转换成字节数组,二是把字节数组写入到输出流-->
<!-- 日志文件的格式 -->
<encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder">
<!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
<pattern>${logback.file-pattern}</pattern>
<!--日志字符编码格式-->
<charset>${logback.charset}</charset>
</encoder>
</appender>
三、解决方案
将logback配置中,charset标签去掉就可以了
【异常】ERROR in ch.qos.logback.core.joran.spi.Interpreter@159:22 - no applicable action for [charset], current ElementPath is [[configuration][appender][encoder][charset]]的更多相关文章
- 报错:ch.qos.logback.core.joran.spi.JoranException
项目中使用了maven. 1.找到本地仓库,删除ch文件夹 2.对项目执行maven install 3.在更新下项目maven update
- java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/JoranException
问题描述:启动tomcat服务器的时候,报找不到JoranException类的异常 原因:tomcat中没有logback-core-1.1.2.jar包 解决方法:在tomcat中的lib目录添加 ...
- 解决java.lang.NoClassDefFoundError: ch/qos/logback/core/joran/spi/Pattern
明明引入了这个,却提示没有 看下面文章: http://www.maocaoying.com/article/109
- Logback报错 no applicable action for [Encoding], current ElementPath is [[configuration][appender][Encoding]]
老版本是0.9,移到springboot项目,解决办法,删除xml配置文件节点<Encoding>UTF-8</Encoding>
- spring boot 启动报 java.lang.NoClassDefFoundError: ch/qos/logback/core/spi/LifeCycle 错误
Failed to instantiate SLF4J LoggerFactory Reported exception: java.lang.NoClassDefFoundError: ch/qos ...
- Logback新版本报no applicable action for [Encoding]问题
logback.xml配置文件如下: <?xml version="1.0" encoding="UTF-8"?> <configuratio ...
- java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logback.classic.LoggerContext问题原因及解决方法
一.错误信息 java.lang.ClassCastException: org.slf4j.impl.Log4jLoggerFactory cannot be cast to ch.qos.logb ...
- org.slf4j.impl.Log4jLoggerAdapter cannot be cast to ch.qos.logback.classic.Logger
https://stackoverflow.com/questions/31433246/classcastexception-org-slf4j-impl-log4jloggeradapter-ca ...
- 解决spring boot启动报错java.lang.NoClassDefFoundError: ch/qos/logback/classic/Level
解决spring boot启动报错java.lang.NoClassDefFoundError: ch/qos/logback/classic/Level 学习了:https://blog.csdn. ...
随机推荐
- mongodb连接认证失败
版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/qq_29143909/arti ...
- concurrent (二)AQS
参考文档: https://www.cnblogs.com/waterystone/p/4920797.html
- [Gamma阶段]事后分析博客
目录 Gamma阶段事后分析博客 设想和目标 计划 资源 变更管理 设计/实现 测试/发布 团队的角色,管理,合作 总结 讨论照片 Gamma阶段事后分析博客 作业要求:Gamma阶段事后分析 设想和 ...
- netcore容器与配置文件操作
using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Configuration.Json; using Micro ...
- mysql 基本操作 一
1.mysql 管理语句 1)展示数据库列表 mysql> show databases; +--------------------+ | Database | +-------------- ...
- odoo 币别符号显示机制 Monetary
//-------------------------------------------------------------------basic_fields.js init: function ...
- java ImmutableMap使用
原文地址:https://blog.csdn.net/wantsToBeASinger/article/details/84997362 java中的Immutable对象: 简单地说,如果一个对象实 ...
- 仿微信、qq聊天,@好友功能
文章主要介绍我们平时用的qq,微信输入框里面的@功能 如图,输入@符号 会出现一个ul ul的位置随着@符号的位置变动 下面是代码 希望对大家有用 直接全部复制,在编辑器中打开 即可 <!DOC ...
- Sitecore 个性化 - 近距离和过于个人化?
Sitecore个性化为营销人员提供了前所未有的强大功能,可以创建引人入胜一旦您发现 营销个性化 错误,就很有可能使用您的新技能来定制您网站的各个方面.但强大的力量带来了巨大的责任.在这篇文章中,我将 ...
- Go语言【数据结构】切片
切片 简介 简单地说,切片就是一种简化版的动态数组.Go 数组的长度不可改变,而切片长度是不固定,切片的长度自然也就不能是类型的组成部分了.数组虽然有适用它们的地方,但是数组的类型和操作都不够灵活,因 ...