游戏机,苹果放弃的重要工具

2020-06-29 16:02:39

回想一下埃尔卡皮坦。您当时使用过哪个重要的实用程序(与MacOS捆绑在一起),但现在几乎从不使用?会不会是控制台,日志浏览器?上周日,我写了苹果在MacOS10.16中需要掌握的工具和基础知识,最后提到了控制台的案例,这是苹果在Sierra引入统一日志时放弃的关键工具。

日志和它们的浏览器是单调乏味的日常工具,它们像厨房一样性感,像睡眠一样必不可少。没有了他们,高级用户、系统管理员和开发人员都在黑暗中蒙住眼睛挣扎。那个应用程序刚刚崩溃了吗?是什么导致了您的内核恐慌?凌晨两点发生了什么事?在我为Mac杂志撰写问答页面的30多年里,我已经记不清有多少次我要求用户查看他们的日志,或者给我发送日志摘要,这样我就可以试着找出哪里出了问题。

“当你的Mac出现问题时,最好的线索通常会在日志中找到。你是害怕打开控制台,还是在浏览控制台内容时惊慌失措?

OSX友好的Finder和其他前端改进可能隐藏了很多东西,但当你需要跟踪和诊断问题时,你应该求助于控制台及其丰富的日志。无论是不断意外退出的应用,还是旋转的沙滩球轮番上阵,花点时间浏览一下同期的日志条目,就能解开很多谜团。“。

然后在2016年,随着Sierra的发布,苹果改用了新的统一日志。原则上,这是向前迈出的一大步。与简单的带有时间戳的文本流不同,日志现在是结构化数据,其中包括活动和路标,因此开发人员可以分析性能并掌握在用户系统上运行的软件的非调试版本,等等。

不过,打开控制台有点让人震惊。我们看到的是实况流的窗口,而不是已经收集的日志条目的传统视图。那么,如何看待几分钟前或昨晚发生的事件呢?一些用户甚至认为日志不再被存储,而是控制台窗口中飞快过去的短暂消息。

现在,您可以通过两种方式查看统一日志中的现有(历史)条目:在控制台中,创建一个日志存档文件并浏览该文件,或者求助于终端中复杂的log命令。

即使是现在,控制台版本1.1(只比MacOS的四个相应的主要版本增加了一个小版本)是我见过的最没有特色的日志浏览器。它不能显示保存在日志条目中的所有字段,不能假装路标不存在,不能将任何内容保存到文件中,只能以非结构化格式复制条目。这只是它彻底无能为力的粗略概述。

不得不求助于LOG命令的悲剧在于它在日志提取中丢弃了结构化数据,除非您碰巧将其连接到能够导入其大量JSON导出的经过的数据库。log命令是另一个像拼凑被子一样组装起来的基本工具,对于绝大多数用户来说,它使统一日志完全超出了界限。

如果苹果不厌其烦地记录tracev3日志文件格式,所有这一切或许都是情有可原的;其他公司已经逆转了这一格式,但由于它是压缩的二进制文件,并且依赖于从也没有记录的其他来源提取数据,这并不容易。苹果也没有将log命令开源。有些人可能会认为这是一种故意阻挠的模式,以阻止我们从我们的日志中获得更多。

最让我对日志和游戏机发生的事情感到愤怒的是,苹果的概念和工程都非常出色:日志的延迟非常低,以结构化和紧凑的格式保留了大量宝贵的数据,对于任何认真对待Mac的人来说,它都应该是一个必不可少的资源。苹果没有建立在这些独特的优势之上,而是提供了象征性的支持,这肯定会让它的工程师们在艰难地阅读sysDiagnosis转储中提供的日志档案时,也会希望得到更好的结果。

游戏机是苹果工具问题的缩影,也是苹果对用户和其他第三方支持问题的缩影。它把本应是MacOS的巨大力量变成了在过去几年里变得如此令人厌恶的东西,以至于大多数人刚刚放弃,蒙住眼睛在黑暗中继续前进。这正是苹果需要解决的问题。