Log_extendedSourceinclude module type of struct include Async.Log endinclude module type of struct include Async_log endinclude module type of Async_log_kernel.Logval sexp_of_t : t -> Sexplib0.Sexp.tval set_level_via_param : t -> unit Core.Command.Param.tSets the log level via a flag, if provided.
val set_level : t -> Async_log_kernel__.Level.t -> unitMessages sent at a level less than the current level will not be output.
val level : t -> Async_log_kernel__.Level.tReturns the last level passed to set_level, which will be the log level checked as a threshold against the level of the next message sent.
val set_output : t -> Async_log_kernel__.Output.t list -> unitChanges the output type of the log, which can be useful when daemonizing. The new output type will be applied to all subsequent messages.
val get_output : t -> Async_log_kernel__.Output.t listval get_time_source : t -> Async_kernel.Synchronous_time_source.tChanges the time source of the log, which controls the default timestamp on messages.
val set_time_source : t -> Async_kernel.Synchronous_time_source.t -> unitval get_transform :
t ->
(Async_log_kernel__.Message_event.t ->
Async_log_kernel__.Message_event.t)
optionChanges the transform function within log. This allows you to *synchronously* change things about the message at the time that they were written.
The transform function *will not* be called if the initial message is of a level that would not currently be logged.
The transform function *will* be called if even if there are no log outputs.
val set_transform :
t ->
(Async_log_kernel__.Message_event.t ->
Async_log_kernel__.Message_event.t)
option ->
unitval get_on_error : t -> [ `Raise | `Call of Core.Error.t -> unit ]If `Raise is given, then background errors raised by logging will be raised to the monitor that was in scope when create was called. Errors can be redirected anywhere by providing `Call f.
val set_on_error : t -> [ `Raise | `Call of Core.Error.t -> unit ] -> unitval close : t -> unit Async_kernel.Deferred.tAny call that writes to a log after close is called will raise.
val is_closed : t -> boolReturns true if close has been called.
val flushed : t -> unit Async_kernel.Deferred.tReturns a Deferred.t that is fulfilled when the last message delivered to t before the call to flushed is out the door.
val create :
level:Async_log_kernel__.Level.t ->
output:Async_log_kernel__.Output.t list ->
on_error:[ `Raise | `Call of Core.Error.t -> unit ] ->
?time_source:Async_kernel.Synchronous_time_source.t ->
?transform:
(Async_log_kernel__.Message_event.t -> Async_log_kernel__.Message_event.t) ->
unit ->
tCreates a new log. See set_level, set_on_error, set_output, set_time_source, and set_transform for more.
val create_null : unit -> tLog that drops messages sent to it, as if it wrote to /dev/null
Printf-like logging for messages at each log level or raw (no level) messages. Raw messages still include a timestamp.
val raw :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
('a, unit, string, unit) Core.format4 ->
'aval debug :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
('a, unit, string, unit) Core.format4 ->
'aval info :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
('a, unit, string, unit) Core.format4 ->
'aval error :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
('a, unit, string, unit) Core.format4 ->
'aval printf :
?level:Async_log_kernel__.Level.t ->
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
('a, unit, string, unit) Core.format4 ->
'aGeneralized printf-style logging.
Sexp logging for messages at each log level or raw (no level) messages. Raw messages still include a timestamp
val raw_s :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Core.Sexp.t ->
unitval info_s :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Core.Sexp.t ->
unitval error_s :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Core.Sexp.t ->
unitval debug_s :
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Core.Sexp.t ->
unitval sexp :
?level:Async_log_kernel__.Level.t ->
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Core.Sexp.t ->
unitGeneralized sexp-style logging.
val string :
?level:Async_log_kernel__.Level.t ->
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
string ->
unitLog a string directly.
val structured_message :
?level:Async_log_kernel__.Level.t ->
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Ppx_log_types.Message_data.t ->
Ppx_log_types.Message_source.t ->
unitval message : t -> Async_log_kernel__.Message.t -> unitLog a pre-created message.
val message_event : t -> Async_log_kernel__.Message_event.t -> unitval surround_s :
on_subsequent_errors:[ `Call of exn -> unit | `Log | `Raise ] ->
?level:Async_log_kernel__.Level.t ->
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
Core.Sexp.t ->
(unit -> 'a Async_kernel.Deferred.t) ->
'a Async_kernel.Deferred.tsurround t message f logs message and a UUID once before calling f and again after f returns or raises. If f raises, the second message will include the exception, and surround itself will re-raise the exception tagged with message. on_subsequent_errors is passed to the internal monitor as rest argument. As usual, the logging happens only if level exceeds the minimum level of t.
val surroundf :
on_subsequent_errors:[ `Call of exn -> unit | `Log | `Raise ] ->
?level:Async_log_kernel__.Level.t ->
?time:Core.Time_float.t ->
?tags:(string * string) list ->
t ->
('a,
unit,
string,
(unit -> 'b Async_kernel.Deferred.t) ->
'b Async_kernel.Deferred.t)
Core.format4 ->
'aval would_log : t -> Async_log_kernel__.Level.t option -> boolwould_log returns true if a message at the given log level would be logged if sent immediately.
This will return false if there are no outputs for the log, unless there is a transform set.
module For_testing = Async.Log.For_testingmodule Blocking = Async.Log.Blockingmodule Level = Async.Log.Levelmodule Message = Async.Log.Messagemodule Message_event = Async.Log.Message_eventmodule Output = Async.Log.Outputmodule Reader = Async.Log.Readermodule Rotation = Async.Log.Rotationmodule Rotation_id = Async.Log.Rotation_idmodule Global = Async.Log.Globalmodule Ppx_log_syntax = Async.Log.Ppx_log_syntax