Logback-Android: error de "acción no aplicable" cuando se utiliza FixedWindowRollingPolicy con un parámetro SizeBasedTriggeringPolicy
Estoy utilizando logback-android en mi aplicación android para registrar mensajes en un archivo, siempre que el registro está habilitado (configuración en la aplicación). Parece estar funcionando bien, pero cuando tengo el siguiente escenario
- Rotar registro cuando su tamaño alcanza los 50 MB
- Cree archivos de copia de seguridad para cuando tenga lugar la rotación de registro. p.ej. TestFile.1.log.zip
Tengo el archivo logback.xml siguiente para este propósito:
- ¿Hay alguna manera de registrar automáticamente el nombre del método en Android?
- Filtrar etiquetas en LogCat (en el complemento Android Eclipse)
- Logging mejores prácticas y pensamientos
- Cómo depurar cordova plugin y Registro con "android.util.log"
- Lectura de archivos registrados a través de slf4android?
<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>
Según esta respuesta, ya que hay un error ( src ) en SizeBasedTriggerPolicy, por lo que tengo la siguiente implementación:
“
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()); } }
“
Sin embargo, cuando estoy corriendo esto, estoy recibiendo el siguiente error:
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: Soy nuevo al regreso.
- Imprimir el contenido de un paquete a Logcat?
- Android: Cómo quitar el registro de depuración de SLF4J con ProGuard
- ¿Cómo puedo escribir salidas en el registro de Android?
- BaseLayerAndroid creando mensajes de registro de destrucción
- Debo eliminar e.printStackTrace () de mi código antes de publicar
- contraseña de Android o número de teléfono para iniciar sesión
- Set Tono de timbre con mp3 de la carpeta res / raw
- LogCat para Android: TextLayoutCache :: replaceThai y error al abrir el archivo de rastreo
Calculé el problema yo mismo. Fue debido al atributo de class
incorrecto en la etiqueta de appender
.
Así que el código siguiente funciona:
<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>
Tener la ortografía incorrecta de <AppenderRef ...>
lugar de <appender-ref ...>
puede causar este error también.
- Configurar la tipografía de la sugerencia en TextEdit
- ¿Cómo hacer un diseño lineal añadir una vista secundaria en una nueva línea?