从iOS设备获取统一的系统日志

时间:2018-11-06 21:59:32

标签: ios logging oslog

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

创建了一个新的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
  • 将系统诊断转移到Mac,然后
  • 使用Console.app或system_logs.logarchive命令行工具检查日志(在log中。)

执行此操作时,不会显示任何日志。没有显示具有预期子系统(捆绑ID)的日志。

但是,如果我直接通过system_logs.logarchivegrep检查vim中的日志文件,则会显示消息。因此它们在日志中,但是由于某些原因,Console.app和log都不会显示它们。我确保将Console.app设置为显示“所有消息”,并且我没有输入任何搜索词。

我缺少什么步骤,或者哪些细节需要更改?

1 个答案:

答案 0 :(得分:1)

似乎您对background-color: rgba(0,0,0,0.5); 没有运气。控制台无法显示此类日志。

但是其他人都能很好地工作。 请尝试然后在控制台应用程序中检查它们。 HttpClient http = new HttpClient(); while (true) { // Long-poll the API var response = await http.GetAsync(buildUri()); Console.WriteLine("Resp: " + response.ToString()); Console.WriteLine("CONTENT:"); Console.WriteLine(await response.Content.ReadAsStringAsync()); }

OSLogType.debug

偶:

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