idevicesyslog(1)

idevicesyslog1

Relay syslog of a connected device.

Usage

idevicesyslog [OPTIONS]

Overview

Relay syslog of a connected device.

Options

-u, --udid UDID

target specific device by UDID

-n, --network

connect to network device

-x, --exit

exit when device disconnects

-d, --debug

enable communication debugging

-h, --help

prints usage information

-v, --version

Prints version information.

--no-colors

disable colored output

-o, --output FILE

Write to FILE instead of stdout. This will disable writing colored output, but can be re-enabled with --colors. If FILE already exists, it will be overwritten without warning.

--colors

Force writing colored output, e.g. when using --output.

--syslog-relay

Use old syslog_relay service instead of os_trace_relay (iOS 9+).

Commands

pidlist

Print a list with PID and name of all processes currently running on the device.

archive PATH

Request a logarchive from the device. It will be written in tar format to PATH. To pipe to another process use - as PATH. Below are some options to restrict the log message data.

In order to view the logarchive in a compatible log viewer, you can pipe the output data to tar and have it extract into a new directory:

mkdir test.logarchive && tools/idevicesyslog archive - |tar -C test.logarchive -xv

This will also print the filenames while they are extracted.

Further options for archive:
--start-time VALUE

Start time of the log data as UNIX timestamp. Earlier messages will be dropped.

--age-limit VALUE

Maximum age of the log data, supposedly number of days.

--size-limit VALUE

Limit the size of the archive. The unit is currently unknown, so feel free to experiment.

Keep in mind that the device usually only has a backlog of a few minutes so the options might not have the desired effect. This is not a bug.

Options

-m, --match STRING

only print messages that contain STRING

-M, --unmatch STRING

print messages that do not contain STRING

-t, --trigger STRING

start logging when matching STRING

When specified, logging will start as soon as a log messages is encountered that contains the given string. See also -T, --untrigger. Other filters are still applied but obviously filtered messages are only printed after logging has started.

-T, --untrigger STRING

stop logging when matching STRING

When specified logging will halt as soon as a log message is encountered that contains the given string. See also -t, --trigger. Other filters are still applied but obviously filtered messages are only printed before logging stops.

NOTE: If no --trigger is given, idevicesyslog will exit after a matching log message was encountered.

-p, --process PROCESS

only print messages from matching process(es)

PROCESS is a string that can either be a numeric pid or a process name. It also supports multiple process names or pids in one string, separated by | (make sure to use quotes!).

-e, --exclude PROCESS

print all messages except matching process(es)

PROCESS is a string that can either be a numeric pid or a process name. It also supports multiple process names or pids in one string, separated by | (make sure to use quotes!).

-q, --quiet

set a filter to exclude common noisy processes

Since the syslog can be quite noisy, this quick command line switch allows silencing a predefined set of commonly known processes. The list of processes that are silenced can be retrieved with --quiet-list.

--quiet-list

prints the list of processes for --quiet and exits

-k, --kernel

only print kernel messages

This is actually equivalent to passing --process kernel with the exception that it can be used with --quiet to silence out the noisy process but still get all the kernel log messages.

-K, --no-kernel

suppress kernel messages

This is equivalent to passing --exclude kernel.

Examples

idevicesyslog -u 00008030-0000111ABC000DEF

Relay syslog of device with UDID 00008030-0000111ABC000DEF.

idevicesyslog -x

Relay syslog of device and exit when the device is unplugged.

idevicesyslog -m '####' -e 'identityservicesd' -K

Only print log messages that contain the string #### and do NOT originate from identityservicesd or the kernel.

idevicesyslog -p MyApp -p ReportCrash

Only print log messages from the process named 'MyApp' and 'ReportCrash'.

idevicesyslog -p 'MyApp|ReportCrash'

Same as previous example with different syntax.

idevicesyslog -e 'backboardd|CommCenter|mDNSResponder'

Suppress log messages from backboardd, CommCenter, and mDNSResponder.

idevicesyslog -q -k

Suppress log messages from common noisy processes, but DO print kernel log messages.

idevicesyslog -K

Suppress log messages from kernel, but print everything else

idevicesyslog -t 'backlight on' -T 'backlight off' -q

Start logging when the device turns on backlight and stop logging when it turns backlight off, and suppress noisy processes

On the web

https://libimobiledevice.org

https://github.com/libimobiledevice/libimobiledevice

Releases

9 releases since Debian 6.0 (Squeeze); the text changed 6 times.

  1. 6.0–7
  2. 8
  3. 9
  4. 10
  5. 11–12
  6. 13
  7. Arch

--age-limit since Arch Linux 2026-11-01; --colors since Debian 13 (Trixie); --exclude since Debian 11 (Bullseye); --exit since Debian 11 (Bullseye); --kernel since Debian 11 (Bullseye); --match since Debian 11 (Bullseye); --network since Debian 11 (Bullseye); --no-colors since Debian 11 (Bullseye); --no-kernel since Debian 11 (Bullseye); --output since Debian 13 (Trixie); --process since Debian 11 (Bullseye); --quiet since Debian 11 (Bullseye); --quiet-list since Debian 11 (Bullseye); --size-limit since Arch Linux 2026-11-01; --start-time since Arch Linux 2026-11-01; --syslog-relay since Arch Linux 2026-11-01; --trigger since Debian 11 (Bullseye); --udid since Debian 8 (Jessie); --unmatch since Arch Linux 2026-11-01; --untrigger since Debian 11 (Bullseye); --version since Debian 11 (Bullseye); -K since Debian 11 (Bullseye); -M since Arch Linux 2026-11-01; -T since Debian 11 (Bullseye); -e since Debian 11 (Bullseye); -k since Debian 11 (Bullseye); -m since Debian 11 (Bullseye); -n since Debian 11 (Bullseye); -o since Debian 13 (Trixie); -p since Debian 11 (Bullseye); -q since Debian 11 (Bullseye); -t since Debian 11 (Bullseye); -v since Debian 11 (Bullseye); -x since Debian 11 (Bullseye).

--uuid until Debian 7 (Wheezy).

Authors

Nikias Bassen, Martin Szulecki

Man page written to conform with Debian by Julien Lavergne.

From libimobiledevice 1.4.0-2 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.