springBoot整合logback报错

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/TenderGuo/article/details/78333188

java.lang.IllegalStateException: Logback configuration error detected:

从spring项目里面直接挪过来的配置发现报这个错,下面是我的配置

<?xml version="1.0" encoding="UTF-8" ?>
<!-- scan="true"    当此属性设置为true时,配置文件如果发生改变,将会被重新加载,默认值为true。 -->
<!--  scanPeriod="30 seconds"   设置每30秒自动扫描,若没有指定具体单位则以milliseconds为标准(单位:milliseconds, seconds, minutes or hours)  -->
<!-- debug="false"当此属性设置为true时,将打印出logback内部日志信息,实时查看logback运行状态。默认值为false。-->
<configuration debug="true" scan="true" scanPeriod="60 seconds">

    <!-- property:用来定义变量值的标签,<property> 有两个属性,name和value。通过<property>定义的值会被插入到logger上下文中。定义变量后,可以使“${}”来使用变量。-->
    <!-- 例如使用<property>定义上下文名称,然后在<contentName>设置logger上下文时使用。 -->
    
    <property resource="logback.properties"></property>
    

    <!-- contextName:每个logger都关联到logger上下文,默认上下文名称为“default”。-->
    <!-- 但可以使用<contextName>设置成其他名字,用于区分不同应用程序的记录。一旦设置,不能修改。 -->
    <contextName>spring_boot_test</contextName>


    <!-- ch.qos.logback.core.ConsoleAppender 控制台输出 -->
    <appender name="console" class="ch.qos.logback.core.ConsoleAppender">
        <!-- encoder 默认配置为PatternLayoutEncoder -->
        <encoder>
            <!-- 格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度,%msg:日志消息,%n是换行符 -->
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    	<encoding>UTF-8</encoding>  
    </appender>

    <!-- 文件输出:file -->
    <appender name="file" class="ch.qos.logback.core.rolling.RollingFileAppender">
   	 	<!-- LevelFilter:级别过滤器,日志级别等于配置级别 -->
   	 	<!-- ThresholdFilter:临界值过滤器,过滤掉低于指定临界值的日志 -->
   	 	<!-- 自定义过滤器:实现ch.qos.logback.core.filter.Filter -->
        <filter class="ch.qos.logback.classic.filter.ThresholdFilter">
            <!-- 设置过滤级别 -->
            <level>${logback.output.file.level}</level>
            <!-- DENY:日志将立即被抛弃不再经过其他过滤器 ,NEUTRAL:有序列表里的下个过滤器过接着处理日志,ACCEPT:日志会被立即处理,不再经过剩余过滤器-->
            <!-- 用于配置符合过滤条件的操作 -->
            <onMatch>ACCEPT</onMatch>
            <!-- 用于配置不符合过滤条件的操作 -->
            <onMismatch>DENY</onMismatch>
        </filter>
        <!-- append是否接着上次写文件结尾继续写,默认为true -->  
	    <append>true</append>  
	    <encoding>UTF-8</encoding> 
    	<!-- 日志文件位置 -->
        <file>${logback.file.path}/loback—shopping.log</file>
        <!-- 根据时间来制定滚动策略 -->
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!--日志文件输出的文件名-->
            <FileNamePattern>${logback.file.path}/logback-shopping.%d{yyyyMMdd}.log</FileNamePattern>
            <!-- 多久后自动清楚旧的日志文件,单位:月 -->
            <maxHistory>1</maxHistory>
        </rollingPolicy>
        <!--日志文件最大的大小-->
        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
          <maxFileSize>1MB</maxFileSize>
        </triggeringPolicy>
        <!--格式化输出:%d表示日期,%thread表示线程名,%-5level:级别从左显示5个字符宽度%msg:日志消息,%n是换行符-->
        <encoder>
            <pattern>%d{yyyy-MM-dd HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
        </encoder>
    </appender>

    <!-- TRACE < DEBUG < INFO <  WARN < ERROR -->
    <root level="${logback.output.main.level}">
    	<appender-ref ref="console" />
    	<!-- <appender-ref ref="file" /> -->
    </root>
</configuration>
最后发现配置里面有这么两个属性搞的鬼,把他们删掉就好了,至于为什么这两个属性会导致这个错暂时还不确定,只知道这两个属性在spring项目里面是可以正常通过的
展开阅读全文

没有更多推荐了,返回首页