微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CocoaLumberjack - Swift:突然删除旧日志

如何解决CocoaLumberjack - Swift:突然删除旧日志

我们正在使用 CocoaLumberjack(3.7.0) 来实现登录到应用程序。 我们希望将最大文件数保持为 90。

我们确信每天的文件大小不会超过 100 MB。

所以我们在下面提到了here

  • 您可以通过将 rollingFrequency 设置为零(或任何非正数)来选择性地禁用滚动。 * 如果你这样做 因此,滚动仅基于 maximumFileSize

以下是我们在代码中进行的设置。

DDLog.add(DDTTYLogger.sharedInstance!)
let tempDirectoryURL = FileManager.default.urls(for: .documentDirectory,in: .userDomainMask).first!
let folderURL = tempDirectoryURL.appendingPathComponent("Logs")
let manager = DDLogFileManagerDefault(logsDirectory: folderURL.path)
fileLogger = DDFileLogger(logFileManager: manager)
fileLogger?.rollingFrequency = 0
fileLogger?.maximumFileSize = 1000 * 1000 * 100
fileLogger?.logFileManager.maximumNumberOfLogFiles = 90
fileLogger?.logFormatter = CustomDDLogFormatter.init()
DDLog.add(fileLogger!)

但我们发现突然一些日志文件删除中断。

有没有人知道这个问题的原因和解决方法

解决方法

找到答案here 我们检查了 LumberJack 的内部代码和文档,在属性下面找到 “日志文件磁盘配额”

日志可以占用的最大空间。在滚动日志文件中,所有超过 logFilesDiskQuota 的旧日志文件都将被删除。 默认值 = 20 MB

解决方案here

“您可以选择将其设置为零来禁用此选项。”

设置这个值后就解决了。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。