当前位置: 首页 > 知识库问答 >
问题:

ch.qos.logback.core.joran.spi.解释器中的错误-没有适用于[max历史]的操作

华鹭洋
2023-03-14
When i am using spring boot in my application i am getting below error while starting the spring boot application main method. Please note that  application is running in kotlin and we are triggering spring boot start up from a seperate class. when i run the application from workspace it run successfully and start up but launching the application from a packaged  jar throws this error.

java.lang.IllegalStateException:检测到回退配置错误:ERROR inistener.initialize: 21-没有适用于[max历史]的操作,当前ElementPath是[[配置][appender][max历史]]ERROR inistener.java:306: 21-没有适用于[max历史]的操作,当前ElementPath是[[配置][appender][max历史]]ERROR inorg.springframework.boot.context.logging.: 21-没有适用于[max历史]的操作,当前ElementPath是[[配置][appender][max历史]]在org.springframework.boot.logging.logback.LogbackLoggingSystem.load配置(LogbackLoggingSystem.java:169)在org.springframework.boot.logging.logback.LogbackLoggingSystem.reinitialize(LogbackLoggingSystem.java:222)在org.springframework.boot.logging.AbstractLoggingSystem.initialize在org.springframework.boot.logging.AbstractLoggingSystem.initialize(AbstractLoggingSystem.java:60)在日志org.springframework.boot.logging.logback.backLoggingSystem.initialize(LogbackLoggingSystem.java:118)在org.springframework.boot.context.logging.LoggingApplication Lch.qos.logback.core.joran.spi.Interpreter@20系统(LoggingApplication Lch.qos.logback.core.joran.spi.Interpreter@37)在ch.qos.logback.core.joran.spi.Interpreter@54LoggingSSimpleApplication EventMulticast. tnkeListener(SimpleApplication EventMulticast. java: 165)在org. springframe. conttext. event。SimpleApplication EventMulticast. multicastEvent(SimpleApplication EventMulticast. java: 139)在org. springframe. conttext. event。SimpleApplication EventMulticaster. multicastEvent(SimpleApplication EventMulticaster. java: 127)在org. springframe. boot. conttext. event。事件发布运行监听器.环境准备(EventPublishingRunListener. java: 80)在org. springframe. boot。SpringApplication RunListener.环境准备(SpringApplication RunListener. java: 53)在org. springframe. boot。SpringApplication. preare环境(SpringApplication. java: 345)在org. springframe. boot。SpringApplication.

没有使用Spring启动,它工作得非常好。我看到这篇文章
Logback文件错误:[配置]没有适用的操作,当前ElementPath是[[配置][配置]],但没有帮助。

my logback.xml:

日志中的标签正在创建问题如何解决它?


    <appender name="HealthRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
            <file>${app.logpath:-log}/${log.base.name}-health.log</file>
            <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
                <fileNamePattern>${app.logpath:-log}/${log.base.name}-health-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
                <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                    <maxFileSize>500MB</maxFileSize>
                </timeBasedFileNamingAndTriggeringPolicy>
            </rollingPolicy>
    
    
            <!-- Number of days of log files to keep -->
            <maxHistory>14</maxHistory>
        </appender>
    
My pom has multipl dependencies but below are some springboot dependencies which this code uses:
 <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot</artifactId>
             <version>2.3.4.RELEASE</version>
         </dependency>
 
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
             <version>2.3.4.RELEASE</version>
         </dependency>
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter</artifactId>
             <version>2.3.4.RELEASE</version>
             <exclusions>
                 <exclusion>
                     <groupId>org.springframework.boot</groupId>
                     <artifactId>spring-boot-starter-logging</artifactId>
                 </exclusion>
             </exclusions>
         </dependency>
 
         <dependency>
       ```      <groupId>org.springframework</groupId>
             <artifactId>spring-core</artifactId>```
             <version>5.3.8</version>
         </dependency>

我查看了这个论坛上的多个帖子,但似乎没有适合这种情况的解决方案。没有springboot,应用程序运行良好。

共有1个答案

谭文林
2023-03-14

按如下方式编辑您的日志文件

<appender name="HealthRollingFileAppender" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${app.logpath:-log}/${log.base.name}-health.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <fileNamePattern>${app.logpath:-log}/${log.base.name}-health-%d{yyyy-MM-dd}.%i.log.gz</fileNamePattern>
        <!-- Number of days of log files to keep -->
        <maxHistory>14</maxHistory>
        <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
             <maxFileSize>500MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
     </rollingPolicy>
</appender>
 类似资料:
  • 可确认下载失败或无法与互联网连接时等,最新的10件错误历史记录。 轻触列表的错误项目,会显示详细内容。部分项目还可确认建议解决方法。

  • 很多关于 linux 的书籍在前面章节中写了一大堆东西来介绍 linux,可惜读者看了好久也没有正式开始进入linux 的世界,这样反而导致了他们对 linux 失去了一些兴趣,而把厚厚的一本书丢掉。 Linux 的历史确实有必要让读者了解的,但是不了解也并不会影响你将来的 linux 技术水平。如果你感兴趣的话,那你去网上搜一下吧,一大堆呢足够让你看一天的。虽然我不太想啰嗦太多,但是关于linu

  • 问题内容: bash 命令非常酷。我知道为什么它显示行号,但是有没有办法我可以调用history命令并抑制行号? 这里的重点是使用历史命令,所以请不要回复 电流输出: 历史图形源。 所需输出: 历史图形源。 感谢大家的出色解决方案。保罗(Paul)是最简单的人,将为我工作,因为我的bash历史记录大小设置为2000。 我还想分享今天早上发现的一篇很酷的文章。它现在有几个不错的选择,例如将重复的条目

  • 问题内容: 在我的Node.js应用程序中,我试图连接到Amazon上托管的MySQL数据库。 我的代码如下所示: 我可以使用Workbench连接到我的MySQL数据库-因此,我很确定我的凭据可以。 当我尝试连接时,出现以下错误: Connection.js:91未捕获的TypeError:Net.createConnection不是函数 从npm库中调试代码-这是引发错误的地方: 该具有相关性

  • 我正在使用<code>窗口。JavascriptMVC应用程序中的历史记录,为每个控制器启用后退/前进/刷新功能。每次加载新控制器时,我都在使用<code>window.history。按下状态,将新状态添加到历史记录中。然后在返回/刷新时,我使用保存的状态并重用数据来再次构建控制器。 除了一个特定场景的问题外,整个想法都很好。我得到以下错误: 未能执行“pushState”“历史”:一个obj

  • 问题内容: 我正在使用Java开发应用程序,该应用程序需要做一些复杂的逻辑规则推演,并将其作为功能的一部分。我想用Prolog或其他逻辑/约束编程语言(而不是Java)编写我的逻辑推论,因为我相信生成的代码将大大简化和维护。 我在Prolog上搜索了嵌入式Java实现,并找到了很多,每个文档都很少。我的(适度)选择标准是: 应该可嵌入Java中(例如,可以与我的Java软件包捆绑在一起,而不需要在