我使用Apple的os.log
框架创建日志。我只是制作如下日志:
os_log("Update: Lat: %{public}f | Long: %{private}f | RemainingTime: %{public}f ", log: log, type: .default, location.coordinate.latitude, location.coordinate.longitude, UIApplication.shared.backgroundTimeRemaining).
我确实在控制台和放大器中看到了日志。调试器。
我已阅读this并且我已成功下载容器(只是不确定容器是否包含我正在寻找的内容,或者这是否是正确的位置看着)。然后我点击Show packages:
但之后我才看到:
我查看了所有文件。这些文件只包含以下数字:
我应该做些额外的事情还是我找错了地方?
EDIT1:在JAL的建议之后:
我调查了(Documents,Library,tmp)。有plist
和ktx
个文件。和function.data
& map.data
个文件。
我查看了这些文件:
以及这些文件:
我尝试用控制台打开它们但是我得到了如下图所示的乱码结果:
EDIT2:
所以首先我没有权限打开/var/db/diagnostics
,我必须sudo bash
。然后我做了cd /var/db/diagnostics
并看到了这些文件。
Events
FaultsAndErrors
Oversize
SpecialHandling
StateDumps
TTL
logdata.Persistent.20170724T212501.tracev3
logdata.Persistent.20170725T015616.tracev3
logdata.Persistent.20170725T134017.tracev3
logdata.Persistent.20170725T171020.tracev3
logdata.Persistent.20170725T213354.tracev3
logdata.Persistent.20170726T002702.tracev3
logdata.Persistent.20170726T144412.tracev3
logdata.Persistent.20170726T202128.tracev3
logdata.Persistent.20170727T021506.tracev3
logdata.Persistent.20170727T033929.tracev3
logdata.Persistent.20170727T075325.tracev3
logdata.Persistent.20170727T145233.tracev3
logdata.statistics.0.txt
logdata.statistics.1.txt
shutdown.log
然后我做了open -a console logdata.Persistent.20170725T015616.tracev3
(我也尝试了其他.tracev3
个文件),但控制台只是打开并开始实时跟踪,好像我刚刚正常打开控制台...
答案 0 :(得分:4)
你没有在你的问题中指定iOS,macOS或tvOS,所以我在所有平台上保持我的答案通用。
审核WWDC 2016 - Session 721 - Unified Logging and Activity Tracing。
记录数据以新的压缩二进制格式(.tracev3
或.logarchive
文件)存储,这就是那些“数字”。您必须使用Console.app或log
命令行工具打开这些文件。
您正在查找错误的日志文件位置。从会话视频:
这些文件现在存储在/ var / db / diagnostics下,并在/ var / db / uuidtext中包含其他支持文件。有新的工具可以访问这些数据,有一个新的控制台,一个新的日志命令行工具,你需要记住的一件事是,因为数据现在以二进制格式存储,你必须使用新工具来访问它。所以你不能再通过日志来使用我们的工具来浏览它了。
还有另一种新类型的.logarchive文件,它可用于日志数据的可移植性。基本上.logarchive是/ var / db / diagnostics之外的信息集合,您将uuidtext一起收集到一个文件中,该文件更容易转移到电子邮件,附加到错误报告等。
如果将stdout或stderr重定向到文件(例如this example中的代码),它应该位于应用程序沙箱(或您指定的任何目录)的Documents目录中。写入/ var / db / diagnostics的日志通常对iOS和tvOS上的最终用户不可用。
答案 1 :(得分:4)
在遵循this回答的建议后,我能够将日志重定向到我的应用程序沙箱的文档目录中,然后我可以使用this回答下载我的容器/沙箱。
点击展示包装内容后,我就有了这个:
我使用控制台打开了日志文件,结果是:
经度应该显示为private
但是因为我已经通过Xcode,即调试模式仍然将该字段公开。
system_logs.logarchive