How can I retrieve messages logged with os_log fro

2019-03-21 16:44发布

I am using the new Unified Logging API in Swift.

So I create a logger and use it as below:

let testLogger = OSLog(subsystem: "my.subsystem", category: "test")
os_log("just a test: %@", log: testLogger, type: .error, "error")

How can I retrieve the logged message if the iOS device is disconnected from the Mac?

I know that the new Console application shows messages logged when the device is connected to the Mac. However, I want to retrieve a message that was logged when the device was disconnected from the computer. How can I achieve that?

Thank you.

2条回答
不美不萌又怎样
2楼-- · 2019-03-21 17:24

The only way I have been able to uncover is to trigger a sysdiagnose on the iOS device, then connect it to a computer and let it sync with iTunes, then gather the logs from the filesystem.

To trigger a sysdiagnose on an iOS device you need to press the volume up, volume down and power buttons at the same time. Then wait for it to finish. Apple says "10 minutes". Then connect to a computer and sync with iTunes.

The logs are on macOS here:

~/Library/Logs/CrashReporter/MobileDevice/[Your_Device_Name]/DiagnosticLogs/sysdiagnose

On Windows, I am not sure.

More details in Apple sysdiagnose intructions

查看更多
祖国的老花朵
3楼-- · 2019-03-21 17:25

On iOS 11, you can now capture a sysdiagnose and get access to the sysdiagnose for emailing (don't email this, it's huge), or exporting to dropbox/airdrop to your Mac. Instructions.

The gist of it is :

  • hold down volume up and volumn down and power button for 1.5 seconds until the screen vibrates.
  • then wait for upto 10 minutes and on your iOS 11 device go to:

Settings > Privacy > Analytics > Analytics Data > sysdiagnose_[xxx] > tap share icon in the nav bar. For me it took less than a minute.

You would need to scroll down to the data starts with s and then it will be something like sysdiagnose_2018.12.13_14-16-19-0500_iPhone_OS_iPhone_15G77

Then share it through AirDrop. You don't need a cable and iTunes anymore.

查看更多
登录 后发表回答