gpt4 book ai didi

android - Logback-Android : "no applicable action" error when using FixedWindowRollingPolicy with a SizeBasedTriggeringPolicy

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:20:18 25 4
gpt4 key购买 nike

我正在使用 logback-android在我的 android 应用程序中,只要启用日志记录(应用程序中的配置),就会将消息记录到文件中。它似乎工作正常,但是当我遇到以下情况时

  • 当日志大小达到 50MB 时轮转日志
  • 为发生日志轮换时创建备份文件。例如。 testFile.1.log.zip

为此,我有以下 logback.xml 文件:

<configuration>
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>/sdcard/dappLog.log</file>
<append>true</append>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/sdcard/dappLog.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>2</maxIndex>
</rollingPolicy>

<triggeringPolicy class="com.dapp.utilities.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
</appender>

<root level="INFO">
<appender-ref ref="FILE" />
</root>

根据 this回答因为有 bug ( src ) 在 SizeBasedTriggerPolicy 中,所以我有以下实现:
`

package com.dapp.utilities;  
import java.io.File;
import ch.qos.logback.core.util.FileSize;
public class SizeBasedTriggeringPolicy<E> extends ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy<E> {
@Override
public boolean isTriggeringEvent(final File activeFile, final E event) {
return (activeFile.length() >= FileSize.valueOf(getMaxFileSize()).getSize());
}
}

`

但是,当我运行它时,出现以下错误:

I/System.out( 2346): 16:14:20,750 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@8:85 - no applicable action for [rollingPolicy], current pattern is [[configuration][appender][rollingPolicy]]  
I/System.out( 2346): 16:14:20,757 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@9:30 - no applicable action for [fileNamePattern], current pattern is [[configuration][appender][rollingPolicy][fileNamePattern]]
I/System.out( 2346): 16:14:20,763 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@10:23 - no applicable action for [minIndex], current pattern is [[configuration][appender][rollingPolicy][minIndex]]
I/System.out( 2346): 16:14:20,770 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@11:23 - no applicable action for [maxIndex], current pattern is [[configuration][appender][rollingPolicy][maxIndex]]
I/System.out( 2346): 16:14:20,777 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@14:90 - no applicable action for [triggeringPolicy], current pattern is [[configuration][appender][triggeringPolicy]]
I/System.out( 2346): 16:14:20,820 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@15:26 - no applicable action for [maxFileSize], current pattern is [[configuration][appender][triggeringPolicy][maxFileSize]]

PS:我是 logback 的新手。

最佳答案

我自己解决了这个问题。这是因为 appender 标签中的错误 class 属性。
所以下面的代码有效:

<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>/sdcard/dapp.log</file>
<append>false</append>

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>/sdcard/dapp.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>2</maxIndex>
</rollingPolicy>

<triggeringPolicy class="com.bigbasket.dapp.utilities.SizeBasedTriggeringPolicy">
<maxFileSize>50MB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>

<root level="INFO">
<appender-ref ref="FILE"/>
</root>

关于android - Logback-Android : "no applicable action" error when using FixedWindowRollingPolicy with a SizeBasedTriggeringPolicy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14873441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com