Global ready-to-use logger
TODO interface to manage State
Example usage
Create logging facility (messages origin)
let http = Log.facility "http"
Log from http subsystem at debug level
Log.debug http "received %u bytes"
Create and use object for http logging
let log = Log.from "http" (* new Log.logger http *);;
log#info "sent %u bytes" 1024
log#warn ~exn "failed here"
Output only messages of warning level or higher for the http facility
http#allow `Warn
or
Logger.set_filter http `Warn
or
Log.set_filter ~name:"http" `Warn
or
Log.set_filter ~name:"http*" `Warn
to set for all facilities starting with "http"
Output only messages of warning level or higher for all facilities
Log.set_filter `Warn
API
module State : sig ... end
include module type of struct include State.M end
val debug_s : Devkit_core__Logger.facil -> string -> unit
val info_s : Devkit_core__Logger.facil -> string -> unit
val warn_s : Devkit_core__Logger.facil -> string -> unit
val error_s : Devkit_core__Logger.facil -> string -> unit
val put_s :
[ `Debug | `Info | `Warn | `Error ] ->
Devkit_core__Logger.facil ->
string ->
unit
val debug :
Devkit_core__Logger.facil ->
('a, unit, string, unit) Stdlib.format4 ->
'a
val info :
Devkit_core__Logger.facil ->
('a, unit, string, unit) Stdlib.format4 ->
'a
val warn :
Devkit_core__Logger.facil ->
('a, unit, string, unit) Stdlib.format4 ->
'a
val error :
Devkit_core__Logger.facil ->
('a, unit, string, unit) Stdlib.format4 ->
'a
val set_loglevels : string -> unit
val set_utc : unit -> unit
val read_env_config : ?env:string -> unit -> unit
Update facilities configuration from the environment.
By default, it reads the configuration in the environment variable DEVKIT_LOG
which can be overwritten using the optional process_name
parameter.
The value of environment variable should match the following grammar: ([<facil|prefix*>=]debug|info|warn|error[,])*
type 'a pr =
?exn:exn ->
?lines:bool ->
?backtrace:bool ->
?saved_backtrace:string list ->
('a, unit, string, unit) Stdlib.format4 ->
'a
param lines
: whether to split multiline message as separate log lines (default true
)
param backtrace
: whether to show backtrace (default is true
if exn
is given and backtrace recording is enabled)
param saved_backtrace
: supply backtrace to show instead of using Printexc.get_backtrace
internal logging facility
val reopen : string option -> unit
val log_start : float Stdlib.ref
val cur_size : int Stdlib.ref