Module Lwt_log_js

include module type of Lwt_log_core with type level = Lwt_log_core.level and type logger = Lwt_log_core.logger and type section = Lwt_log_core.section and type template = Lwt_log_core.template and module Section = Lwt_log_core.Section
type level = Lwt_log_core.level =
  1. | Debug
  2. | Info
  3. | Notice
  4. | Warning
  5. | Error
  6. | Fatal
type logger = Lwt_log_core.logger
type section = Lwt_log_core.section
val string_of_level : level -> string
val level_of_string : string -> level option
val load_rules : ?fail_on_error:bool -> string -> unit
val add_rule : string -> level -> unit
val append_rule : string -> level -> unit
val reset_rules : unit -> unit
module Section : sig ... end
type template = Lwt_log_core.template
val render : buffer:Stdlib.Buffer.t -> template:template -> section:section -> level:level -> message:string -> unit
val location_key : (string * int * int) Lwt.key
exception Logger_closed
val make : output:(section -> level -> string list -> unit Lwt.t) -> close:(unit -> unit Lwt.t) -> logger
val close : logger -> unit Lwt.t
val default : logger Stdlib.ref
val broadcast : logger list -> logger
val dispatch : (section -> level -> logger) -> logger
val null : logger

Lwt logger for js_of_ocaml

Predefined logger

val console : Lwt_log_core.logger

Logger that use the javascript console object.

Logging functions

val log : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> level:level -> string -> unit Lwt.t

log ?section ?logger ~level message logs a message.

section defaults to Section.main. If logger is not specified, then the default one is used instead (see default).

If exn is provided, then its string representation (= Printexc.to_string exn) will be append to the message, and if possible the backtrace will also be logged.

If inspect is provided, it will be append to the message.

location contains the location of the logging directive, it is of the form (file_name, line, column).

val log_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> level:level -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a

log_f is the same as log except that it takes a format string

val ign_log : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> level:level -> string -> unit

Same as log but ignore the resulting thread.

val ign_log_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> level:level -> ('a, unit, string, unit) Stdlib.format4 -> 'a

Same as log_f but ignore the resulting thread.

The following functions are the same as log except that their name determines which level is used.

For example info msg is the same as log ~level:Info msg.

val debug : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit Lwt.t
val debug_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a
val ign_debug : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit
val ign_debug_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit) Stdlib.format4 -> 'a
val info : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit Lwt.t
val info_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a
val ign_info : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit
val ign_info_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit) Stdlib.format4 -> 'a
val notice : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit Lwt.t
val notice_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a
val ign_notice : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit
val ign_notice_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit) Stdlib.format4 -> 'a
val warning : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit Lwt.t
val warning_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a
val ign_warning : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit
val ign_warning_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit) Stdlib.format4 -> 'a
val error : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit Lwt.t
val error_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a
val ign_error : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit
val ign_error_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit) Stdlib.format4 -> 'a
val fatal : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit Lwt.t
val fatal_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit Lwt.t) Stdlib.format4 -> 'a
val ign_fatal : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> string -> unit
val ign_fatal_f : ?inspect:'v -> ?exn:exn -> ?section:section -> ?location:(string * int * int) -> ?logger:logger -> ('a, unit, string, unit) Stdlib.format4 -> 'a