Module Lwt_log
module Lwt_log : sig..end
Logging facility
This module provides functions to deal with logging. It extends Lwt_log_core with Unix features. It adds:
- logging to the syslog daemon
- logging to a channel (stderr, stdout, ...)
- logging to a file
include Lwt_log_core
val render :
buffer:Buffer.t ->
template:template ->
section:section -> level:level -> message:string -> unit
Same as Lwt_log_core.render, except that the template may also contain the following variables:
- date, which will be replaced with the current local date and time,
- milliseconds, which will be replaced by the fractional part of the current Unix time, to millisecond accuracy.
For example:
- "$(date) $(name)[$(pid)]: $(message)"
- "$(date).$(milliseconds) $(name)[$(pid)]: $(message)"
- "$(date): $(loc-file): $(loc-line): $(loc-column): $(message)"
type syslog_facility =
[ `Auth
| `Authpriv
| `Console
| `Cron
| `Daemon
| `FTP
| `Kernel
| `LPR
| `Local0
| `Local1
| `Local2
| `Local3
| `Local4
| `Local5
| `Local6
| `Local7
| `NTP
| `News
| `Security
| `Syslog
| `UUCP
| `User ]
Syslog facility. Look at the SYSLOG(3) man page for a description of syslog facilities
val syslog :
?template:template ->
?paths:string list ->
facility:syslog_facility -> unit -> logger
syslog ?template ?paths ~facility () creates an logger which send message to the system logger.
template : defaults to "$(date) $(name)[$(pid)]: $(section): $(message)"
paths : is a list of path to try for the syslogd socket. It default to ["/dev/log"; "/var/run/log"].
val file :
?template:template ->
?mode:[ `Append | `Truncate ] ->
?perm:Unix.file_perm -> file_name:string -> unit -> logger Lwt.t
desf_file ?template ?mode ?perm ~file_name () creates an logger which will write messages to file_name.
- if mode = `Truncate then the file is truncated and previous contents will be lost.
- if mode = `Append, new messages will be appended at the end of the file
template : defaults to "$(date): $(section): $(message)"
mode : defaults to `Append
val channel :
?template:template ->
close_mode:[ `Close | `Keep ] ->
channel:Lwt_io.output_channel -> unit -> logger
channel ?template ~close_mode ~channel () creates a logger from a channel.
If close_mode = `Close then channel is closed when the logger is closed, otherwise it is left open.
template : defaults to "$(name): $(section): $(message)"