idevicesyslog
View iOS device system logs
TLDR
Relay syslog messages from the connected device
Suppress kernel messages and print everything else
SYNOPSIS
idevicesyslog [-d] [-u UDID] [UDID]
PARAMETERS
-d, --debug
Enable debug output for communication with the device
-u, --udid UDID
Target a specific device by its unique identifier (UDID)
-V, --version
Print version information and exit
-h, --help
Display usage help and exit
UDID
Optional positional argument to specify device UDID
DESCRIPTION
The idevicesyslog command is a utility from the libimobiledevice suite, designed for developers and testers working with iOS devices. It relays the syslog output from a connected iPhone, iPad, or iPod Touch directly to the standard output (stdout) on a Linux, macOS, or Windows machine.
This tool is invaluable for real-time debugging of iOS applications without needing a jailbreak. It captures system logs, app crashes, and diagnostic messages over USB, helping identify issues like memory leaks or network problems. The device must be unlocked and trusted by the host computer for the connection to succeed.
Once running, idevicesyslog streams logs continuously until interrupted (e.g., with Ctrl+C). Output includes timestamps, process names, and log levels, mimicking the native Console.app on macOS. It's cross-platform and lightweight, requiring only the libimobiledevice libraries.
CAVEATS
Device must be unlocked and trusted; USB connection required (no wireless support); may fail if multiple devices connected without UDID specifier.
EXAMPLE USAGE
idevicesyslog # Streams logs from first connected device
idevicesyslog -u 00008030-001C7A3A0A28002E # Targets specific UDID
REQUIREMENTS
Install via libimobiledevice-utils package; list devices with idevice_id -l.
HISTORY
Developed as part of the open-source libimobiledevice project since 2007, initially to support iTunes alternatives. Evolved with iOS versions for lockdownd protocol compatibility.
SEE ALSO
idevice_id(1), idevicescreenshot(1), ideviceinstaller(1), usbmuxd(8)


