xcode Swift Log CocoaLumberjack

Справочник
[iOS] Интеграция библиотеки журналов CocoaLumberJack — краткая книга

logging - Как записывать журналы устройств в iOS во время выполнения в файл в каталоге документов с iPhone? - Переполнение стека

GitHub — apple/swift-log: API ведения журналов для Swift

Как экспортировать журналы

Способ 1: отправить электронное письмо, способ 2: экспортировать напрямую

Stack Overflow на русском 

местоположение журнала

настоящий путь,

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

/AppData/Library/Caches/Logs/

мой Mac (предназначен для 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)

консоль console.app 

 

DDFileLogger: Разобраться несложно, это писать лог в файл.
DDOSLogger: Начиная использовать в iOS10, вывод лога в консоль приложения и консоль Xcode. Это согласуется с методом вывода NSLog. Конечно, после обработки производительность будет лучше, чем при непосредственном использовании NSLog.
DDASLLogger: Записать лог в console.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];

Получение папки журнала и имени файла

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

おすすめ

転載: blog.csdn.net/linzhiji/article/details/130455319