【问题标题】:Getting unified system logs from an iOS device从 iOS 设备获取统一系统日志
【发布时间】:2018-11-06 21:59:31
【问题描述】:

我正在尝试使用统一日志记录来记录消息并从设备中检索它们以进行检查。我用

创建了一个新的OSLog 实例
let logDebug = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "⚠️ debug")

然后我用

记录消息
os_log("%@", log: logDebug, type: OSLogType.debug, String(format:message, arguments: formatArgs))

这在 Xcode 控制台中运行良好。应该可以通过

从 Xcode 设备中检索这些日志
  • 进行系统诊断(如Apple explains here)
  • 将 sysdiagnose 传输到 Mac,然后
  • 使用 Console.app 或 log 命令行工具检查日志(在 system_logs.logarchive 中)。

当我这样做时,我的任何日志都不会显示。没有显示具有预期子系统(捆绑 ID)的日志。

然而,如果我直接通过grep 或vim 检查system_logs.logarchive 中的日志文件,则会出现这些消息。所以它们在日志中,但出于某种原因,Console.app 和 log 都不会显示它们。我确保 Console.app 设置为显示“所有消息”并且我没有输入任何搜索字词。

我遗漏了哪一步,或者哪些细节需要有所不同?

【问题讨论】:

    标签: ios logging oslog


    【解决方案1】:

    您似乎对OSLogType.debug 不满意。控制台无法显示此类日志。

    但其他人工作完美。 请尝试然后在控制台应用程序中检查它们。 os_log("%@", log: logDebug, type: OSLogType.info, String(format:"%i", arguments: [1]))

    os_log("%@", log: logDebug, type: OSLogType.error, String(format:"%i", arguments: [1]))

    甚至:

    os_log("%@", log: logDebug, type: OSLogType.default, String(format:"%i", arguments: [6]))

    【讨论】:

      猜你喜欢
      • 2022-01-24
      • 2011-09-03
      • 2011-07-25
      • 2018-06-26
      • 1970-01-01
      • 2017-04-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多