Console.app is a nice way of viewing logs, but most of this power (and more) is builtin to the log utility from the command line. In this episode we will see how to stream debug logs from the simulator, as well as how to retrieve logs from customer or tester devices out in the field by triggering a sysdiagnose.
Episode Links simctl recipes Streaming Logs from your Mac To stream logs from the terminal, use the log stream command in Terminal. You can influence the level of logs you get back by using log stream --debug or log stream --info Streaming Logs from the Simulator Doing the above will not include logs in the iOS Simulator. To stream these logs, you have to run the log utility within the booted simulator. We can use simctl to do this: xcrun simctl spawn booted log ... Filtering Based on Subsystem If we want to limit the output just to one subsystem, we can filter using the --predicate flag: xcrun simctl spawn booted log stream --debug --predicate 'subsystem == "com.ficklebits.UnifiedLoggingDemo"' Note that this takes an NSPredicate type string, so you can do things like "subsystem CONTAINS[cd] 'foo'", filter on category, or any of the other fields available to you.