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.
The manual pages
- Solnix: logger(1b) from
pkgs.solnix.illumos-world-man· illumos.org - Linux: logger(1) util-linux-2.42.3
- FreeBSD: logger(1) 15.1-RELEASE
- OpenBSD: logger(1) 8.0
- NetBSD: logger(1) 11.0
- Standard: POSIX.1-2024 (IEEE Std 1003.1-2024),
logger
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 with | Topic | What 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, FreeBSD | remote syslog | The 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 meaning | Solnix 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 meaning | Solnix 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 fallback | OpenBSD 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 ID | On 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 options | Linux 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 |
| FreeBSD | default tag | FreeBSD 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 message | Linux 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, NetBSD | message ID | NetBSD -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, NetBSD | exit status | FreeBSD, 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] [-ffile] [-ppri] [-ttag] [message]. All five give user.notice as the default priority and accept facility.level pairs such as local3.info. - Avoid
-s,-n,-d,-hand-cin 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.