The logger(1) tool in your system, /usr/bin/logger, standardized in IEEE Std 1003.2 (“POSIX.2”), has many different implementations. For Linux users the most common one is part of the util-linux package.

I’ve always considered this one of those weird Linux:isms. The logger tool is closely tied to the system log daemon, so in the sysklogd project we ship our own implementation of logger. Our implementation is derived from the Finit project’s logit tool.

The sysklogd logger is paired feature wise with sysklogd, supporting both RFC3164 (BSD) and RFC5424 (new) style logging. It also supports logging to file, including log rotation, and in the latest sysklogd release, v2.4.4, logger supports logging to a remote host:

logger -h "Kilroy was here"

Command line options are modeled on the corresponding FreeBSD flags, where applicable, not util-linux. See the FreeBSD man page for comparison.