在 Console.app 中,我如何才能揭示什么标签实际上指的是什么?

在 Console.app 中,我如何才能揭示什么标签实际上指的是什么?

在最近的几个 MacOS 版本中,Console.app 受到越来越严格的审查,以至于几乎毫无用处。

文件名和 URL 已被<private>标签取代,因此无法追踪和纠正错误。

虽然以下示例不是错误,但也不是我实际上遇到的文件权限错误由于cfprefsd无法追踪,它是一个例子,说明大多数记录的消息Console.app变得多么模糊和无用:

 com.apple.WebKit.Networking [19870 <private> <private>] start

我如何才能揭示<private>Console.app 日志消息中标签所引用的内容?

答案1

Console.app可以private通过发出以下命令来显示实际的文件路径和 URL,而不是Terminal.app

    sudo log config --mode "private_data:on"

这会使记录的消息Console.app显示更具体、更有用的信息,如 URL 和文件名,而不仅仅是神秘的<private>标签,但不会追溯。错误或情况必须再次发生,才能显示之前被审查的数据。

因此,像这样的消息基本上是无用的:

  com.apple.WebKit.Networking [19870 <private> <private>] start

将会扩展为如下形式:

 com.apple.Webkit.Networking [19920 www.facebook.com:443 stream, pid: 5311, url: https://www.facebook.com/api/graphqlbatch/, tls] start

private_data:on由于长期离开可能会危及隐私和安全,因此可以使用以下命令将日志记录功能恢复到其正常的模糊级别:

sudo log config --mode "private_data:off"

一旦完成对所需事件的追踪。

答案2

Catalina 的解决方案

您可以添加 .mobileprofile,它将使 Catalina 10.15.4 中的日志失去私有性。

我将用户 lx07 分享的答案复制到此处:https://superuser.com/a/1532052/1091227(他们的帖子中有我无法转发的图片,因此请查看更多详细信息。)

如此处所述统一日志:如何启用私有数据您可以像这样创建并安装配置文件:

配置文件以启用(显示)私人数据

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
  <key>PayloadContent</key>
  <array>
    <dict>
      <key>PayloadDisplayName</key>
      <string>ManagedClient logging</string>
      <key>PayloadEnabled</key>
      <true/>
      <key>PayloadIdentifier</key>
      <string>com.apple.logging.ManagedClient.1</string>
      <key>PayloadType</key>
      <string>com.apple.system.logging</string>
      <key>PayloadUUID</key>
      <string>ED5DE307-A5FC-434F-AD88-187677F02222</string>
      <key>PayloadVersion</key>
      <integer>1</integer>
      <key>System</key>
      <dict>
        <key>Enable-Private-Data</key>
        <true/>
      </dict>
    </dict>
  </array>
  <key>PayloadDescription</key>
  <string>Enable Unified Log Private Data logging</string>
  <key>PayloadDisplayName</key>
  <string>Enable Unified Log Private Data</string>
  <key>PayloadIdentifier</key>
  <string>C510208B-AD6E-4121-A945-E397B61CACCF</string>
  <key>PayloadRemovalDisallowed</key>
  <false/>
  <key>PayloadScope</key>
  <string>System</string>
  <key>PayloadType</key>
  <string>Configuration</string>
  <key>PayloadUUID</key>
  <string>D30C25BD-E0C1-44C8-830A-964F27DAD4BA</string>
  <key>PayloadVersion</key>
  <integer>1</integer>
</dict>
</plist>

将文件另存为您的个人资料名称.mobileconfig。如果您不需要签名或部署它,您可以双击它,它将.mobileconfig自动添加到个人资料系统偏好设置一旦您进行了身份验证。

监控解锁用户和组系统偏好设置在 macOS Catalina 10.15.3 上(如链接文章中所建议),此命令给出以下结果:

sudo log stream --predicate '(subsystem == "com.apple.opendirectoryd") && (senderImagePath == "\/System\/Library\/OpenDirectory\/Modules\/PlistFile.bundle\/Contents\/MacOS\/PlistFile")'
  • 如果没有配置文件加载的<private>数据(在这种情况下用户解锁)将被编辑。

  • 加载配置文件后,先前的<private>数据可见。

相关内容