Ios CocoaLumberjack-Swift:未获取前几天的日志文件

Ios CocoaLumberjack-Swift:未获取前几天的日志文件,ios,swift,cocoalumberjack,Ios,Swift,Cocoalumberjack,我正在我的iOS项目中使用CocoaLumberjack/SwiftPod 问题是,我总是得到当天(今天或上次应用程序启动的最后一天)日志文件CocoaLumberjack不保存以前的旧日志文件 import CocoaLumberjack ...... func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOption

我正在我的iOS项目中使用CocoaLumberjack/SwiftPod

问题是,我总是得到当天(今天或上次应用程序启动的最后一天)日志文件CocoaLumberjack不保存以前的旧日志文件

import CocoaLumberjack

...... 

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Enable CocoaLumberjack logging
    self.setLoggingProperty()
}

private func setLoggingProperty() {
    if #available(iOS 10.0, *) {
        DDLog.add(DDOSLogger.sharedInstance)
    } else {
        // Fallback on earlier versions
        DDLog.add(DDASLLogger.sharedInstance)
        if let dDTTYLogger = DDTTYLogger.sharedInstance {
            DDLog.add(dDTTYLogger)
        }
    }

    let logger: DDFileLogger = DDFileLogger.init()

    logger.maximumFileSize = 10 * (1024*1024) //10MB
    logger.rollingFrequency = -1 // Disable time base rolling

    logger.logFileManager.maximumNumberOfLogFiles = 7
    DDLog.add(logger)
}
对我来说,今天是2020-02-19。还有我从CocoaLumberjack那里得到的文件:

xyz2020-02-19-05-55-39-774.log//文件大小->10 MB

xyz2020-02-19-05-55-46-305.log//文件大小->1.7MB

**没有以前的旧文件

我禁用了基于时间的滚动

logger.rollingFrequency=-1//还尝试了0

并对每个文件使用10 MB的内存限制

logger.maximumFileSize=10*(1024*1024)//10MB

根据CocoaLumberjack的文件

* You may optionally disable rolling due to filesize by setting `maximumFileSize` to zero.
* If you do so, rolling is based solely on `rollingFrequency`.
这是我的源代码,来自AppDelegate

import CocoaLumberjack

...... 

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    // Enable CocoaLumberjack logging
    self.setLoggingProperty()
}

private func setLoggingProperty() {
    if #available(iOS 10.0, *) {
        DDLog.add(DDOSLogger.sharedInstance)
    } else {
        // Fallback on earlier versions
        DDLog.add(DDASLLogger.sharedInstance)
        if let dDTTYLogger = DDTTYLogger.sharedInstance {
            DDLog.add(dDTTYLogger)
        }
    }

    let logger: DDFileLogger = DDFileLogger.init()

    logger.maximumFileSize = 10 * (1024*1024) //10MB
    logger.rollingFrequency = -1 // Disable time base rolling

    logger.logFileManager.maximumNumberOfLogFiles = 7
    DDLog.add(logger)
}

有人面临类似的问题吗?我遗漏了什么吗?

更改滚动频率和大小。设置下面的代码段

let fileLogger = DDFileLogger(logFileManager: LogsManager.shared())
        DDLog.add(DDOSLogger.sharedInstance)
        // 24-hour rolling, maximum 14 files, max 50 MB per file.
        fileLogger.rollingFrequency = 60 * 60 * 24
        fileLogger.maximumFileSize = 50 * 1024 * 1024;
        fileLogger.logFileManager.maximumNumberOfLogFiles = 14;
        // The file logger
        DDLog.add(fileLogger)
        // TTY = The Xcode console logger
        DDLog.add(DDTTYLogger.sharedInstance)
        // ASL = The Apple System Logs
        DDLog.add(DDOSLogger.sharedInstance)

我也试过了。这个也不起作用。因此,我禁用了每日滚动,这样我们至少可以从上一个日志文件中获得更多日志。因此,您可以通过设置
rollingFrequency
-1来禁用滚动,这就是为什么滚动现在基于
maximumFileSize
,所以将文件大小增加到最大。对。但问题是,我没有得到旧的日志文件。我应该从日志目录中获取最多7个(
maximumNumberOfLogFiles=7
)的最后日志文件。但只获取当天创建的日志文件。注意,我以前尝试过每日滚动频率。那时候也有同样的问题<代码>logger.rollingFrequency=24*60*60