OC-Minitel/syslog/OpenOS
Christopher Head a78a3758f8
Fix registering the wrong listener
The `local_listener` function is obviously intended to be used as the
event listener for locally pushed `syslog` events, to do preliminary
sanity checks and type conversions before calling `wentry`. However, it
was not actually registered as such. Not only does this mean the sanity
checks and type conversions could be skipped, it also means that `rc
syslogd stop` would not work because `wentry` was actually registered as
a listener while `local_listener` was pushed in the `listeners` table,
so `event.ignore` would be passed the wrong value and would not
unregister `wentry`.
2021-01-22 19:26:04 -08:00
..
etc/rc.d Fix registering the wrong listener 2021-01-22 19:26:04 -08:00
usr added man pages for syslog, for #9 2018-08-10 19:12:34 +10:00
README.md syntax highlighting is nicew 2018-08-08 09:15:55 +10:00

README.md

syslog for OpenOS

This package contains a syslog library, and a syslog daemon, for OpenOS. These are separated, as the daemon is optional and can be replaced at will.

Installation

Library:

oppm install libsyslog

Daemon:

oppm install syslogd

Usage

Library

The syslog library only provides one function, so the library can be called. In addition, the library provides a number of pre-configured event levels:

  • syslog.emergency
  • syslog.alert
  • syslog.critical
  • syslog.error
  • syslog.warning
  • syslog.notice
  • syslog.info
  • syslog.debug

An example using syslog as both a function and a table:

local syslog = require "syslog"
syslog("message", syslog.emergency, "service name")

Daemon

The syslog daemon lives in /etc/rc.d/syslogd.lua, and as such is managed as an rc program:

rc syslogd enable
rc syslogd start
rc syslogd reload

In addition, the daemon keeps a configuration file in /etc/syslogd.cfg. This is stored as a Lua table and may be edited in whatever way you see fit. It has the following fields and default values:

Field Default value
port 514
relay false
relayhost ""
receive false
write true
destination "/dev/null"
minlevel 6
beeplevel -1
displevel 2
filter {}

Technical details

The syslog library and daemon communicate via events, namely a syslog event. The format is as follows:

"syslog", message, level, service