52

How can I write an entry into /var/log/syslog from the command line?

Drew Noakes
  • 5,878

3 Answers3

63

Use the logger command.

logger Some message to write

There are several options available, including:

-i Log the process ID in each line
-f Log the contents of a specified file
-n Write to the specified remote syslog server
-p Specify a priority
-t Tag the line with a specified tag

See man 1 logger for more information on the tool.

Drew Noakes
  • 5,878
14

Alternatively, you can write to syslog from python:

python -c 'import syslog; syslog.syslog("Hello World")'
7

As a dev, I rarely have time to closely study man pages, so TLDR:

logger -p local0.notice -t ${0##*/}[$$] Hello world

The gibberish in the middle will translate to the calling program. So if you check the bottom of syslog you'll see something like:

May 07 08:27:14 ip-10-1-11-166 -bash[42108]: Hello world