Send log messages via the Unix Syslog interface.
Syslog is great for system daemons that log free-form human readable status messages
or other debugging output, but not so great for archiving structured data. Access to
read Syslog's messages may also be restricted. syslogd
's logs are also not
necessarily kept forever. For application level logging consider
Core_extended.Std.Logger instead.
module Open_option = Core__.Syslog.Open_option
module Level = Core__.Syslog.Level
val setlogmask : ?allowed_levels:Level.t list ‑> ?from_level:Level.t ‑> ?to_level:Level.t ‑> unit ‑> unit
All levels in allowed_levels
will be allowed, and additionally all ranging from
from_level
to to_level
(inclusive).
val openlog : ?id:string ‑> ?options:Open_option.t list ‑> ?facility:Facility.t ‑> unit ‑> unit
openlog ~id ~options ~facility ()
opens a connection to the system logger (possibly
delayed) using prefixed identifier id
, options
, and facility
.
WARNING: this function leaks the id
argument, if provided. There is no way around
that if syslog is called in a multi-threaded environment! Therefore it shouldn't be
called too often. What for, anyway?
Calling openlog
before syslog
is optional. If you forget, syslog will do it for
you with the defaults.
val syslog : ?facility:Facility.t ‑> ?level:Level.t ‑> string ‑> unit
syslog ~facility ~level message
logs message
using syslog with facility
at
level
.
val syslogf : ?facility:Facility.t ‑> ?level:Level.t ‑> ('a, unit, string, unit) Core__.Import.format4 ‑> 'a
syslog_printf
acts like syslog
, but allows printf
-style specification of the
message.