url: https://www.freedesktop.org/software/systemd/man/systemd-cat.html created_time: 2022 Nov 05 09:00 updated_time: 22 days ago
terminal

syslog journald journalctl

Note that most current Linux distributions use journald, rather than syslog.

echo 'hello' | systemd-cat -p info
echo 'hello' | systemd-cat -t someapp
journalctl -t someapp
journalctl -t CRON
journalctl --identifier CRON
journalctl -f

journalctl -t CRON --since yesterday
journalctl --since now|today|yesterday|tomorrow --until YYYY-MM-DD HH:MM:SS
journalctl -o json
journalctl -o json-pretty
journalctl --utc # display the timestamps in UTC
journalctl -b # entries that have been collected since the most recent reboot.
tldr logger

  logger

  Add messages to syslog (/var/log/syslog).
  More information: https://manned.org/logger.

  - Log a message to syslog:
    logger message

  - Take input from stdin and log to syslog:
    echo log_entry | logger

  - Send the output to a remote syslog server running at a given port. Default port is 514:
    echo log_entry | logger --server hostname --port port

  - Use a specific tag for every line logged. Default is the name of logged in user:
    echo log_entry | logger --tag tag

  - Log messages with a given priority. Default is `user.notice`. See `man logger` for all priority options:
    echo log_entry | logger --priority user.warning
>>> import syslog
>>> syslog.syslog('hello')
syslog.openlog('foo')
syslog.syslog('bar')
syslog.closelog()
journalctl -t foo # works