59 lines
1.2 KiB
OCaml
59 lines
1.2 KiB
OCaml
type logger
|
|
|
|
type level =
|
|
| TRACE
|
|
| DEBUG
|
|
| INFO
|
|
| WARN
|
|
| ERROR
|
|
|
|
(* log_function (fun m -> m "<fmt>" <args>); *)
|
|
type 'a log_function =
|
|
((('a, Format.formatter, unit) format -> 'a) -> unit) -> unit
|
|
|
|
type 'a log_module_function =
|
|
?__POS__:(string * int * int * int)
|
|
-> ?__FUNCTION__:string
|
|
-> ?errno:int
|
|
-> ('a log_function)
|
|
|
|
module type Logs = sig
|
|
val logger : logger
|
|
val trace : _ log_module_function
|
|
val debug : _ log_module_function
|
|
val info : _ log_module_function
|
|
val warn : _ log_module_function
|
|
val error : _ log_module_function
|
|
val exn : exn -> Printexc.raw_backtrace -> _ log_module_function
|
|
val log : level -> ?exn:((exn * Printexc.raw_backtrace) option) -> _ log_module_function
|
|
end
|
|
|
|
val logs : string -> (module Logs)
|
|
val sublogs : logger -> string -> (module Logs)
|
|
|
|
val init_pretty_writer :
|
|
?min_level:level ->
|
|
?color:bool ->
|
|
?timestamp:bool ->
|
|
?namespace:bool ->
|
|
?level:bool ->
|
|
?source_loc:bool ->
|
|
?backtrace:bool ->
|
|
out_channel -> unit
|
|
|
|
type writer =
|
|
ts:Time.t ->
|
|
ns:string ->
|
|
filename:string ->
|
|
lineno:int ->
|
|
func:string ->
|
|
errno:int ->
|
|
exn:((exn * Printexc.raw_backtrace) option) ->
|
|
lvl:level ->
|
|
string ->
|
|
unit
|
|
|
|
val add_writer :
|
|
?min_level:level ->
|
|
writer -> unit
|