CocoaLumberjack - Swift : 突然删除旧日志

CocoaLumberjack - Swift : Deleting Old Logs all of sudden

提问人:Banng 提问时间:3/15/2021 最后编辑:oguz ismailBanng 更新时间:6/13/2021 访问量:312

问:

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

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

所以我们在下面提到这里

  • 您可以选择通过设置为零(或任何非正数)来禁用因时间而滚动。* 如果你这样做 因此,滚动完全基于 .rollingFrequencymaximumFileSize

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

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!)

但是我们发现,突然间,一些日志文件被中断删除了。

有谁知道这个问题的原因和解决方法?

ios swift 日志记录 rollingfileappender cocoalumberjack

评论


答:

0赞 Banng 4/1/2021 #1

在这里找到答案 我们检查了 LumberJack 的内部代码和文档,在下面找到属性 “logFilesDisk配额”

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

解决方案在这里

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

设置此值后,此问题已修复。