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.
The manual pages
- Solnix: logger(1) 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
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 with | Topic | What differs |
|---|---|---|
| all four | no -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 fallback | OpenBSD 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, FreeBSD | remote logging | Solnix 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 meaning | Solnix 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 meaning | Solnix 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 ignored | On 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 |
| FreeBSD | default tag | FreeBSD 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 message | Linux 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, NetBSD | structured data and journald | Linux 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 four | common behaviour | On 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
-pfacility.level,-ttag 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,-dor-hin portable scripts. Solnix has none of them, and-nand-dmean different things on Linux and NetBSD. - Do not combine
-fwith 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.