随着 macOS 10.12 Sierra 中引入“统一日志记录”,人们可以使用
log
命令在终端中查看系统日志消息。例如
sudo log stream
或
sudo log stream --process `pgrep -f /usr/local/bin/myprogram` --info --debug
或
log show --predicate 'process == "myprogram"' --last 1h --info --debug
使用新的“统一”Console.app,可以查看系统消息,还可以查看来自连接的 iOS 设备的消息。
有没有办法使用
log
命令或任何其他命令行界面在终端中查看 iOS 设备消息,或将它们发送到文件?或者 Console.app 是唯一的方法吗?
tl;博士:
log collect —device
log collect --device
可让您检索日志档案,这些日志档案可通过您熟悉的所有选项传递到 log show --archive system_logs.logarchive
。
使用
log collect --device
自动猜测您所指的设备。
log collect device-name="Maxs iPhone"
或 log collect device-udid=abcdefg
从特定设备收集。
log collect --output /your/path
会将其保存到您指定的文件名或目录中。如果未给出 --output
,您的输出将在当前目录中作为 system_logs.logarchive
。
注意:我偶尔会收到有关
log: failed to create archive: Device not configured (6)
或 log: failed to create archive: Connection reset by peer (54)
的错误,但如果我重新运行该命令,它有时会起作用 🤷🏾u200d♀️
您可以,使用第三方 OSS 工具。
这些可以使用自制软件获得。
brew install libimobiledevice
您可以通过运行
idevice_id
来发现可用设备(UDID)。然后通过运行 idevicesyslog -n -u <udid>
开始流式传输日志