0

我正在尝试使用统一日志记录来记录消息并从设备中检索它们以进行检查。我创建了一个新OSLog实例

let logDebug = OSLog(subsystem: Bundle.main.bundleIdentifier!, category: "⚠️ debug")

然后我用

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

这在 Xcode 控制台中运行良好。应该可以通过以下方式从 Xcode 设备中检索这些日志

  • 进行 sysdiagnose (正如Apple 在此处解释的那样)
  • 将 sysdiagnose 传输到 Mac,然后
  • system_logs.logarchive使用 Console.app 或log命令行工具检查日志(in )。

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

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

我错过了什么步骤,或者哪些细节需要不同?

4

1 回答 1

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]))

于 2018-11-07T00:16:45.563 回答