logger(1b) on Solnix vs Linux and the BSDs

The Solnix logger(1b) page documents /usr/ucb/logger, a small tool with only -f, -i, -p and -t. A default Solnix system runs /usr/bin/logger, which this page does not describe. Linux and the BSDs all have -s (copy to stderr) and most have remote or console options that this page lacks.

What Solnix runs

On a default Solnix system the command on PATH is the illumos /usr/bin/logger. The published page logger(1b) covers /usr/ucb/logger, and its SYNOPSIS lists only -f, -i, -p and -t. The bundle has no text for /usr/bin/logger, so the options of the PATH version are not documented here. Check logger(1) on the system before relying on any flag beyond these four.

Differences

Compared withTopicWhat differs
all four-s (echo to stderr)The Solnix /usr/ucb/logger page has no -s. Linux, FreeBSD, OpenBSD and NetBSD all use -s to copy the message to standard error as well as the system log. A script using logger -s may not work with the Solnix ucb variant.
Source: Solnix logger(1b) SYNOPSIS and OPTIONS; Linux logger(1) -s, --stderr; FreeBSD logger(1) -s; OpenBSD logger(1) -s; NetBSD logger(1) -s
Linux, FreeBSDremote syslogThe Solnix page documents no way to send to a remote host. Linux uses -n/--server with --udp, --tcp and -P/--port. FreeBSD uses -h host with -P port, -S, -4, -6 and -A. OpenBSD and NetBSD have no such option.
Source: Solnix logger(1b) OPTIONS; Linux logger(1) -n, -d, -P; FreeBSD logger(1) -h, -P, -S, -4, -6, -A
Linux, NetBSD-n meaningSolnix has no -n. On Linux, -n takes a server name and writes to that remote syslog server. On NetBSD, -n takes no argument and opens the log immediately (LOG_NDELAY).
Source: Solnix logger(1b) SYNOPSIS; Linux logger(1) -n, --server; NetBSD logger(1) -n
Linux, NetBSD-d meaningSolnix has no -d. On Linux, -d means UDP only. On NetBSD, -d takes a structured-data (SD) string for the message. The same letter means unrelated things on the two systems.
Source: Solnix logger(1b) SYNOPSIS; Linux logger(1) -d, --udp; NetBSD logger(1) -d
OpenBSD, NetBSD-c console fallbackOpenBSD and NetBSD accept -c: if the message cannot be passed to syslogd(8), it is written to the console. The Solnix page documents no -c.
Source: OpenBSD logger(1) -c; NetBSD logger(1) -c; Solnix logger(1b) OPTIONS
FreeBSD-i and the process IDOn Solnix, -i logs the logger process ID with each line. On FreeBSD, -i is ignored because the process ID is always logged. FreeBSD -t tag[N] sets a specific process ID, and Solnix -t takes only a tag.
Source: Solnix logger(1b) -i, -t; FreeBSD logger(1) -i, -t
Linux--id and other long optionsLinux adds --id[=id] to log a chosen ID instead of logger's PID. It also has --journald, --prio-prefix, --rfc3164, --rfc5424, --msgid and --no-act. The Solnix page documents none of these, only short options.
Source: Linux logger(1) --id, --journald, --prio-prefix, --rfc5424, --msgid, --no-act; Solnix logger(1b) SYNOPSIS
FreeBSDdefault tagFreeBSD marks lines with the current login name unless -t is given. The Solnix page does not say what tag is used by default.
Source: FreeBSD logger(1) -t; Solnix logger(1b) -t
Linux, FreeBSD-f with a messageLinux says -f cannot be combined with a command-line message. FreeBSD ignores -f when a message is given. The Solnix text is unclear on this: it describes -f only as the source of the message, and the manual does not say what happens when both are given.
Source: Linux logger(1) -f; FreeBSD logger(1) -f; Solnix logger(1b) DESCRIPTION, -f
Linux, NetBSDmessage IDNetBSD -m sets the MSGID, and Linux --msgid sets the RFC 5424 MSGID (only with --rfc5424). The Solnix page has no equivalent.
Source: NetBSD logger(1) -m; Linux logger(1) --msgid; Solnix logger(1b) OPTIONS
FreeBSD, OpenBSD, NetBSDexit statusFreeBSD, OpenBSD and NetBSD document exit 0 on success and >0 on error. The Solnix page has no EXIT STATUS section and does not say.
Source: FreeBSD, OpenBSD and NetBSD logger(1) EXIT STATUS; Solnix logger(1b)

Standards

  • POSIX: logger is a POSIX.1-2024 utility.
  • Solnix: The logger(1b) page has no STANDARDS section; its SEE ALSO refers to attributes(7), but the bundle has no stability text.
  • 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”).
  • FreeBSD: The logger command is expected to be IEEE Std 1003.2 (“POSIX.2”) compatible.

Writing portable scripts

  • Portable across all five pages: logger [-i] [-f file] [-p pri] [-t tag] [message]. All five give user.notice as the default priority and accept facility.level pairs such as local3.info.
  • Avoid -s, -n, -d, -h and -c in portable scripts: they are missing from the Solnix ucb page or mean different things on Linux, FreeBSD and NetBSD.

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.