这是logback.xml。
test.log被创建,但是,当文件大小超过1KB时,它不会被轮换。
我在Android模拟器和三星Galaxy S4手机上测试了这个。
我正在使用logback-android-1.1.1-3。
<configuration>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>test.log</file>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>test.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>3</maxIndex>
</rollingPolicy>
<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
<maxFileSize>1KB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="logcat" class="ch.qos.logback.classic.android.LogcatAppender">
<encoder>
<pattern>%msg</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="logcat" />
</root>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>
我不知道我做错了什么。此配置直接来自http://logback.qos.ch/manual/appenders.html
非常感谢任何指针!
谢谢!
答案 0 :(得分:2)
弄清楚自己我必须改变两件事。
logback.xml:
<configuration>
<property name="EXT_FILES_DIR" value="${EXT_DIR:-sdcard}"/>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${EXT_FILES_DIR}/twapp/logs/twapp.log</file>
<append>false</append>
<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
<fileNamePattern>${EXT_FILES_DIR}/twapp/logs/tw.%i.log.zip</fileNamePattern>
<minIndex>1</minIndex>
<maxIndex>4</maxIndex>
</rollingPolicy>
<!-- Overridden SizeBasedTriggeringPolicy -->
<triggeringPolicy class="com.twapp.util.SizeBasedTriggeringPolicy">
<maxFileSize>10KB</maxFileSize>
</triggeringPolicy>
<encoder>
<pattern>%d{YY:HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg%n</pattern>
</encoder>
</appender>
<appender name="logcat" class="ch.qos.logback.classic.android.LogcatAppender">
<encoder>
<pattern>%msg</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="logcat" />
</root>
<root level="DEBUG">
<appender-ref ref="FILE" />
</root>
</configuration>
Extended SizeBasedTriggeringPolicy类:
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());
}
}