logger(1) on Solnix vs Linux and the BSDs

On Solnix, logger is the illumos logger at /usr/bin/logger. It takes only -i, -f, -p and -t. The -s option that Linux, FreeBSD, OpenBSD and NetBSD all have (copy to standard error) is missing, and so are the remote-host and console options.

What Solnix runs

A default Solnix system runs the illumos logger at /usr/bin/logger, published in pkgs.solnix.illumos-world-man. A second variant, /usr/ucb/logger, is also shipped, but the bundle does not describe it.

Differences

Compared withTopicWhat differs
all fourno -s (copy to stderr)Solnix logger has no -s. Linux (-s, --stderr), FreeBSD, OpenBSD and NetBSD use -s to write the message to standard error as well as the system log. A script using logger -s fails or misbehaves on Solnix.
Source: Solnix logger(1) SYNOPSIS; FreeBSD logger(1) -s; OpenBSD logger(1) -s; NetBSD logger(1) -s; Linux logger(1) -s, --stderr
OpenBSD, NetBSD-c console fallbackOpenBSD and NetBSD logger -c writes the message to the console if syslogd cannot take it (NetBSD names /dev/console). Solnix has no -c.
Source: OpenBSD logger(1) -c; NetBSD logger(1) -c; Solnix logger(1) SYNOPSIS
Linux, FreeBSDremote loggingSolnix logger documents no way to send to a remote host. Linux uses -n/--server, with --udp, --tcp and -P/--port. FreeBSD uses -h host and -P port. The Solnix page describes only the local system log.
Source: Solnix logger(1) DESCRIPTION, OPTIONS; Linux logger(1) -n, --server, -d, -P; FreeBSD logger(1) -h, -P
Linux, NetBSD-n meaningSolnix has no -n. On Linux, -n takes a remote server name. On NetBSD, -n takes no argument and opens the log immediately (LOG_NDELAY). The same letter does unrelated things on those two systems.
Source: Linux logger(1) -n, --server; NetBSD logger(1) -n; Solnix logger(1) SYNOPSIS
Linux, NetBSD-d meaningSolnix has no -d. On Linux, -d means use UDP only. On NetBSD, -d sd puts the argument in the structured data (SD) field.
Source: Linux logger(1) -d, --udp; NetBSD logger(1) -d; Solnix logger(1) SYNOPSIS
FreeBSD-i is ignoredOn FreeBSD, -i is ignored and the process ID is always logged. On Solnix, the PID of the logger process is logged with each line only when -i is given. The Solnix page does not say what is logged without -i.
Source: FreeBSD logger(1) -i; Solnix logger(1) -i
FreeBSDdefault tagFreeBSD marks lines with the current login name unless -t is given, and -t tag[N] inserts a specific process ID. The Solnix page documents only -t tag and states no default tag and no tag[N] form.
Source: FreeBSD logger(1) -t; Solnix logger(1) -t
Linux, FreeBSD-f together with a messageLinux says -f cannot be combined with a command-line message. FreeBSD ignores -f when a message is given. The Solnix page does not say what happens when both are given, so do not combine them in portable scripts.
Source: Linux logger(1) -f, --file; FreeBSD logger(1) -f; Solnix logger(1) DESCRIPTION, -f
Linux, NetBSDstructured data and journaldLinux offers --rfc3164, --rfc5424, --msgid, --sd-id and --journald for structured or journal entries. NetBSD offers -d sd and -m msgid. Solnix logger has no equivalent options. Linux says RFC 5424 has been its default since version 2.26.
Source: Linux logger(1) --rfc5424, --journald, --msgid; NetBSD logger(1) -d, -m; Solnix logger(1) SYNOPSIS
all fourcommon behaviourOn every system, -p takes a numeric priority or a facility.level pair and defaults to user.notice. Exit status is 0 on success and greater than 0 on error. Solnix -f logs the file's contents.
Source: Solnix logger(1) -p, EXIT STATUS; Linux logger(1) -p; FreeBSD logger(1) -p; OpenBSD logger(1) -p; NetBSD logger(1) -p

Standards

  • POSIX: logger is a POSIX.1-2024 utility.
  • Solnix: Interface Stability: Standard. The page points to standards(7).
  • FreeBSD: The logger command is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.
  • OpenBSD: The logger utility is compliant with the IEEE Std 1003.1-2008 (“POSIX.1”) specification. The flags [-cfipst] are extensions to that specification.
  • NetBSD: The logger utility conforms to IEEE Std 1003.2-1992 (“POSIX.2”).

Writing portable scripts

  • Stick to -p facility.level, -t tag and a plain message. Every page in the bundle documents them, with the same user.notice default priority.
  • Do not rely on -s, -c, -n, -d or -h in portable scripts. Solnix has none of them, and -n and -d mean different things on Linux and NetBSD.
  • Do not combine -f with a command-line message. Linux rejects it, FreeBSD ignores -f, and the Solnix page does not say.

Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.