Module Syslog
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 : sig ... end
module Facility : sig ... end
Types of messages
module Level : sig ... end
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 fromfrom_level
toto_level
(inclusive).
Logging functions
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 identifierid
,options
, andfacility
.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
beforesyslog
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
logsmessage
using syslog withfacility
atlevel
.
val syslogf : ?facility:Facility.t -> ?level:Level.t -> ('a, unit, string, unit) Syslog__.Import.format4 -> 'a
syslog_printf
acts likesyslog
, but allowsprintf
-style specification of the message.