在最近的几个 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>
数据可见。