1
0
mirror of https://github.com/ShadowKatStudios/OC-Minitel.git synced 2024-11-15 06:48:05 +11:00
OC-Minitel/syslog/OpenOS
Christopher Head 074a980d81
Do not unregister listeners on unexpected data
If a registered event listener callback returns `false`, the listener is
unregistered. A network packet arriving on a different port, or a
message with a missing part, should not cause the syslog system to shut
down. Return `nil` instead of `false` if those sanity checks fail, to
keep the listener registered.
2021-01-22 19:21:23 -08:00
..
etc/rc.d Do not unregister listeners on unexpected data 2021-01-22 19:21:23 -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

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