Module Syslog

module Syslog: sig .. end
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 from from_level to to_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 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) Pervasives.format4 -> 'a
syslog_printf acts like syslog, but allows printf-style specification of the message.
val closelog : unit -> unit
closelog () closes the connection to the syslog daemon.