I'm using logback-android in a Kotlin project to generate logs in a file. I previously tested this solution in different Android versions without any issue, but I discovered an issue in Android 5.1: the parent directories to the log file are created but not the log files. How do I fix this?
build.gradle:
implementation 'io.github.microutils:kotlin-logging:1.6.24'
implementation 'com.github.tony19:logback-android:2.0.0'
logback.xml:
<configuration>
<property name="LOG_DIR" value="${EXT_DIR:-${DATA_DIR}}/log.log" />
<timestamp key="datetime" datePattern="yyyy'-'MMdd'-'HH':'mm':'ss"/>
<appender name="logcat" class="ch.qos.logback.classic.android.LogcatAppender">
<encoder>
<pattern>[%d{yyyyMMdd-HH:mm:ss}][%thread][%-5level][%logger{36}][%msg]%n</pattern>
</encoder>
</appender>
<appender name="filelog" class="ch.qos.logback.core.rolling.RollingFileAppender">
<file>${LOG_DIR}/${datetime}.log</file>
<encoder>
<pattern>[%d{yyyyMMdd-HH:mm:ss}][%thread][%-5level][%logger{36}][%msg]%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/%d{yyyy-MM-dd}.%i.log</fileNamePattern>
<maxFileSize>100MB</maxFileSize>
<maxHistory>5</maxHistory>
<totalSizeCap>500MB</totalSizeCap>
</rollingPolicy>
</appender>
<root level="DEBUG">
<appender-ref ref="logcat" />
</root>
<root level="DEBUG">
<appender-ref ref="filelog" />
</root>
</configuration>