0
我正在使用android logback寫入內部文件夾。android logback不會在基於時間的策略上滾動
我的記錄器的配置是這樣的:
<configuration debug='true'>
<property name="LOG_DIR" value="logs" />
<appender name="logcat" class="ch.qos.logback.classic.android.LogcatAppender">
<tagEncoder>
<pattern>%logger{12} %-5level</pattern>
</tagEncoder>
<encoder>
<pattern>%msg</pattern>
</encoder>
</appender>
<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
<!-- active log file -->
<file>${LOG_DIR}/log.txt</file>
<encoder>
<pattern>%d{dd.MM HH:mm:ss.SSS} - %msg%n</pattern>
</encoder>
<rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
<fileNamePattern>${LOG_DIR}/log-%d{yyyy-MM-dd-HH-mm}.txt</fileNamePattern>
<maxHistory>4</maxHistory>
</rollingPolicy>
</appender>
<root level="INFO">
<appender-ref ref="logcat"/>
<appender-ref ref="FILE" />
</root>
</configuration>
文件名模式 「對數%d {YYYY-MM-DD-HH-毫米} .TXT」 應當爲每分鐘創建一個新的日誌文件(因爲分鐘是最小的單位)。 回滾被觸發,但它失敗和調試消息只是說:
|-WARN in ch.qos.logback.core.rolling.RollingFileAppender[FILE] - RolloverFailure occurred. Deferring rollover
的log.txt文件編寫正確的,但它的翻轉失敗。 我正在寫入內部存儲器,所以權限是沒有問題的(我也有外部SD卡權限的寫作)。
編輯:我只是測試它與外部sd作爲日誌目的地,它似乎工作。所以看起來logback可以將實際的日誌文件寫入內部存儲,但不能翻轉(可能是由於訪問權限錯誤?)。
有沒有人有一個想法如何解決這個問題?
thx。對於其他用戶來說,最好的方式似乎是(如您在該問題中回答的): \t $ {DATA_DIR} /log/currentlog.txt 作爲當前日誌以及翻轉文件的位置東東。 –
stamanuel
['$ {DATA_DIR}'](https://github.com/tony19/logback-android/issues/110#issuecomment-196305259)是'/ data/data//files的特殊變量'。設置'LOG_DIR'將有效地產生相同的結果。 –
2016-04-27 07:27:46