6

Information abound about syslog, but I can't find anything very concise for my interest.

I have a user-created bash script that should log various debug, info, and error messages. I'd like to use syslog. This in Ubuntu Server distribution.

I'm looking for a quick overview only.

  • I see many files in /etc/logrotate.d that don't get discussed in any man pages that confuse me.
  • Should I be logging as user? local0-7?
  • Do I need to do something to configure this before I use these in a logger command?
  • How should I define what logs get created? Or is this already done?

With those questions answered I should be able to glean the details from the man pages.

David Parks
  • 30,789
  • 47
  • 185
  • 328

2 Answers2

10

You want the logger(1) utility, available in the bsdutils package.

From the man page:

     logger - a shell command interface to the syslog(3) system log module

There's nothing that's essential to configure, just pass the switches you want. E.g.

logger -p local3.info -t myprogram "What's up, doc?"

You can now inspect wherever local3.info messages go and you will see something like this:

Jul 11 12:46:35 hostname myprogram: What's up, doc?

You only need to worry about logrotate if you need something fancier than this.

As for what log facility to use, I would use daemon for daemon messages and local for most other things. You should consult syslog(3) for the purposes of the different facilities.

sorpigal
  • 25,504
  • 8
  • 57
  • 75
1
  • Don't worry about logrotate. It doesn't affect you if you're logging to the system log.
  • You can use any facility you like. See the syslogd configuration for what ends up where.
  • See the syslogd configuration for what ends up where.
  • See the... yeah, you get it.
Ignacio Vazquez-Abrams
  • 776,304
  • 153
  • 1,341
  • 1,358