Logback Android ERROR: no applicable action for [queuesize] [encoder][immediateFlush]

Logback Android ERROR: no applicable action for [queuesize] [encoder][immediateFlush]

“[*] 没有适用的操作”是什么意思?

I: 15:24:17,169 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@24:20 - no applicable action for [queuesize], current ElementPath  is [[configuration][appender][queuesize]]
I: 15:24:17,176 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@25:18 - no applicable action for [encoder], current ElementPath  is [[configuration][appender][encoder]]
I: 15:24:17,188 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@26:29 - no applicable action for [immediateFlush], current ElementPath  is [[configuration][appender][encoder][immediateFlush]]

这是否意味着我配置它的方式是错误的并且配置行被忽略了?? 我做错了什么?

logback.xml :

<configuration debug="true">
<shutdownHook/>

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>${DATA_DIR}/logs/jdtest.log</file>

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
      <fileNamePattern>${DATA_DIR}/logs/jdtest.%i.log.zip</fileNamePattern>
      <minIndex>1</minIndex>
      <maxIndex>3</maxIndex>
    </rollingPolicy>

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
      <maxFileSize>100KB</maxFileSize>
    </triggeringPolicy>

    <encoder>
        <pattern>%d{yy.MM.dd HH:mm:ss.SSS}:\t%logger:\t%msg%n</pattern>
      <outputPatternAsHeader>true</outputPatternAsHeader>
    </encoder>
</appender>

<appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
    <queuesize>1000</queuesize>
    <encoder>
        <immediateFlush>false</immediateFlush>
    </encoder>
    <appender-ref ref="FILE" />
</appender>


<root level="ALL">
    <appender-ref ref="ASYNC" />
</root>
</configuration>

gradle:

dependencies { 
    implementation 'org.slf4j:slf4j-api:1.7.30'
    implementation 'com.github.tony19:logback-android:2.0.0'
}

AsyncAppender没有编码器properties.AndAsyncAppender有queueSize属性而不是queuesize。如果要使用shutdownHook,指定使用class

<configuration debug="true">
<!--    <shutdownHook/>-->

    <appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>${DATA_DIR}/logs/jdtest.log</file>

        <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
            <fileNamePattern>${DATA_DIR}/logs/jdtest.%i.log.zip</fileNamePattern>
            <minIndex>1</minIndex>
            <maxIndex>3</maxIndex>
        </rollingPolicy>

        <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <maxFileSize>100KB</maxFileSize>
        </triggeringPolicy>

        <encoder>
            <pattern>%d{yy.MM.dd HH:mm:ss.SSS}:\t%logger:\t%msg%n</pattern>
            <outputPatternAsHeader>true</outputPatternAsHeader>
        </encoder>
    </appender>

    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender">
        <queueSize>1000</queueSize>
<!--        <encoder>-->
<!--            <immediateFlush>false</immediateFlush>-->
<!--        </encoder>-->
        <appender-ref ref="FILE" />
    </appender>


    <root level="ALL">
        <appender-ref ref="ASYNC" />
    </root>
</configuration>