LinuxCommandLibrary

idevicesyslog

View iOS device system logs

TLDR

Relay syslog messages from the connected device

$ idevicesyslog
copy

Suppress kernel messages and print everything else
$ idevicesyslog --no-kernel
copy

SYNOPSIS

idevicesyslog [OPTIONS]

PARAMETERS

-u, --udid UDID
    Specify the 40-character device UDID to connect to a specific device when multiple are connected.

-n, --network
    Connect to a network device instead of USB. Requires prior Wi-Fi pairing.

-s, --syslog-level LEVEL
    Filter logs by syslog level. Possible levels include: debug, info, notice, warning, err, crit, alert, emerg.

-p, --process PROCESS_NAME
    Filter logs to show only messages from a specific process name.

-k, --keyword KEYWORD
    Filter logs to show only messages containing a specific keyword.

-m, --monitor
    Continuously monitor and display new log entries. This is the default behavior.

-d, --debug
    Enable verbose debug output for the command itself.

-v, --version
    Display the version information of the command.

-h, --help
    Display the help message and exit.

DESCRIPTION

idevicesyslog is a command-line utility from the libimobiledevice project. Its primary function is to retrieve and display system logs (syslog) in real-time from a connected Apple iOS device (iPhone, iPad, iPod Touch). It acts as a powerful diagnostic tool, allowing developers and system administrators to monitor device behavior, debug applications, and identify system-level issues by observing the stream of logs generated by the operating system and installed applications. The command supports filtering logs by device UDID, log level, process name, and keywords, providing flexibility for targeted log analysis. It is essential for troubleshooting and development workflows that involve iOS devices on Linux or macOS systems without Xcode.

CAVEATS

Requires libimobiledevice and its dependencies to be installed.
The device must be unlocked and trusted by the host computer (pairing dialog accepted).
Logs are streamed in real-time; historical logs are not retrieved by default.
Filtering options like process name and keyword are applied on the client-side, meaning all logs are still transmitted to the host before filtering.

REAL-TIME STREAMING

idevicesyslog excels at providing a live feed of system events, which is crucial for dynamic troubleshooting and observing immediate effects of actions on the device.

CROSS-PLATFORM COMPATIBILITY

While primarily associated with Linux, libimobiledevice tools, including idevicesyslog, are also available on macOS and Windows, offering a consistent way to access device logs across different operating systems.

HISTORY

idevicesyslog is an integral part of the libimobiledevice project, an open-source software library that provides native protocol access to Apple's iOS devices. It was developed to enable communication with iPhones, iPads, and iPod Touches on Linux and other non-Apple platforms, bridging the gap for developers and users who need to interact with these devices outside of macOS and iTunes/Xcode environments. The command's functionality has been stable for many years, reflecting the robust nature of the underlying library's implementation of Apple's syslog protocol.

SEE ALSO

ideviceinfo(1), ideviceinstaller(1), idevicerestore(8), usbmuxd(8)

Copied to clipboard