xcode Swift Log CocoaLumberjack

2023-05-16

参考
【iOS】CocoaLumberJack日志库集成 - 简书

logging - How to capture Device Logs in iOS during Runtime into a file in Documents Directory from iPhone? - Stack Overflow

GitHub - apple/swift-log: A Logging API for Swift

如何导出日志

方法一发邮件,方法二直接导出

参考:ios - Where is Logfile stored using cocoaLumberjack - Stack Overflow 

日志位置

真机路径,

#文件名为bundleid+空格+日期.log

/AppData/Library/Caches/Logs/

my mac (Designed for iPhone)

代码

#输出到控制台, console.app
DDLog.add(DDOSLogger.sharedInstance) // Uses os_log

# 输出到文件
let fileLogger: DDFileLogger = DDFileLogger() // File Logger
fileLogger.rollingFrequency = 60 * 60 * 24 // 24 hours
fileLogger.logFileManager.maximumNumberOfLogFiles = 7
DDLog.add(fileLogger)

cosole.app控制台 

 

DDFileLogger:很容易理解,是将log写入到文件中。
DDOSLogger:在iOS10开始使用,在将Log输出到 控制台.app 和 Xcode控制台。跟NSLog的输出方式一致。当然,经过处理之后,性能会比直接使用NSLog要好。
DDASLLogger:将日志写入到控制台.app中。在iOS10开始过时
DDTTYLogger:将日志写入到Xcode控制台。

日志文件定义

DDFileLogger *fileLogger = [[DDFileLogger alloc] init];
//重用log文件,不要每次启动都创建新的log文件(默认值是NO)
fileLogger.doNotReuseLogFiles = NO;
//log文件在24小时内有效,超过时间创建新log文件(默认值是24小时)
fileLogger.rollingFrequency = 60*60*24;
//log文件的最大3M(默认值1M)
fileLogger.maximumFileSize = 1024*1024*3;
//最多保存7个log文件(默认值是5)
fileLogger.logFileManager.maximumNumberOfLogFiles = 7;
//log文件夹最多保存10M(默认值是20M)
fileLogger.logFileManager.logFilesDiskQuota = 1014*1024*20;
    
//添加文件写入logger
[DDLog addLogger:fileLogger];

Log文件夹与文件名的获取

//logs文件夹路径
DDLogInfo(@"logsDirectory=%@",fileLogger.logFileManager.logsDirectory);
//logs文件夹的所有log文件路径
DDLogInfo(@"sortedLogFilePaths=%@",fileLogger.logFileManager.sortedLogFilePaths);
//当前活跃的log文件路径
DDLogInfo(@"currentFilePath=%@",fileLogger.currentLogFileInfo.filePath);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

xcode Swift Log CocoaLumberjack 的相关文章

随机推荐