一、OSLog与NSLog的区别 NSLog: NSLog的文档,第一句话就说:Logs an error message to the Apple System Log facility. OSLog: 苹果官方文档这样介绍:OSLog是一个统一的日志系统,在iOS 10中可用。macOS 10.12及以上版本,tvOS 10.0及以上版本,watchOS 3.0及以上版本。 OSLog相比NSlog的优点 1.新的日志系统,跨多个平台Mac,ios,WachOS 2.相比以前的系统更加的高效 3.日志组织的更有条理。 ", log: OSLog.default, type: .info) // 输出一个自定义子系统,级别为debug-level 信息 let customLog = OSLog(subsystem: ", log: customLog, type: .debug) // 示例与结果 let myLog : OSLog = OSLog(subsystem:"mySubsystem", category
近期推荐 SwiftLog 和 OSLog:选择、使用以及坑[6] 王巍 (onevcat)[7] 日志工具对开发者至关重要,它们在调试和维护上线应用中扮演着提供即时且精确信息的角色。 本文由王巍撰写,深入探讨了 Swift 开发中的两种日志记录框架:SwiftLog 和 OSLog。 SwiftLog 适合于跨平台应用或需要高度定制的日志管理场景;而 OSLog 则专为 Apple 平台的应用开发优化。 文章不仅详述了日志的写入、读取和性能处理,还指出了使用 OSLog 时可能遇到的问题和潜在陷阱,为开发者提供了全面的指导和实用建议。 此外,上周,Keith Harrison[8] 也深入探讨了如何检索 OSLog 信息,详见其文章 Fetching OSLog Messages in Swift[9]。
提供一个日志对象(默认常量或自定义OSLog对象)和一个表示消息的常量字符串或格式字符串。默认常量导致日志记录按照系统的标准行为进行。 ", log: OSLog.default, type: .info) Listing 3 Logging a debug-level message for a specific subsystem let customLog = OSLog(subsystem: "com.your_company.your_subsystem_name.plist", category: "your_category_name
原生平台方案iOS平台import os.signpostimport os.signpostlet log = OSLog(subsystem: "com.yourapp", category: "performance
自定义调试工具 使用Instruments,您最终可以淘汰print()语句,这些语句将替换为OSLog路标和您自己的自定义仪器。
StagedMigrationFactory.swift 文件代码如下:import Foundationimport CoreDataimport OSLog// 1extension Logger
通过设置 CI_LOG_FILE=“oslog”,文本也可以前往 Console.app(在 iOS 开发中更为方便)。 options: 对于 CI_PRINT_TREE,开发者可以设定额外的选项。
4.138.2.el6.x86_64 srvadmin-storageservices-cli-8.1.0-4.3.1.el6.x86_64 srvadmin-oslog