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