CocoaLumberjack - Swift: не получаются файлы журнала предыдущих дней - PullRequest
0 голосов
/ 19 февраля 2020

Я использую CocoaLumberjack/Swift Pod в моем проекте iOS.

Проблема в том, что я получаю всегда Текущий день (Сегодня или Последний день последнего запуска приложения) файлы журналов. CocoaLumberjack не сохраняет старые файлы журнала Предыдущие дни .

Для меня сегодня это 2020-02-19 . И файлы, которые я получаю из CocoaLumberjack :

xyz 2020-02-19 - 05-55-39-774.log // размер файла -> 10 МБ

xyz 2020-02-19 - 05-55-46-305.log // размер файла -> 1,7 МБ

** Там более старых файлов предыдущих дней нет

Я отключил функцию Time Based Rolling.

logger.rollingFrequency = -1 // also tried with 0

И используйте ограничение памяти 10 МБ для каждого файла

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

Кто-нибудь сталкивается с подобной проблемой? Я что-то упустил?

1 Ответ

0 голосов
/ 19 февраля 2020

изменить частоту качания и размер. Устанавливает нижний фрагмент

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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...