Library
Module
Module type
Parameter
Class
Class type
The output is flushed line-at-a-time, so no output should be lost if the traced program crashes. The logged traces are still indented, but if the values to print are multi-line, their formatting might be messy. The indentation is also smaller (half of PrintBox).
module _ : Shared_config
val log_value_sexp :
?descr:string ->
entry_id:int ->
log_level:int ->
is_result:bool ->
Sexplib0.Sexp.t ->
unit
val log_value_pp :
?descr:string ->
entry_id:int ->
log_level:int ->
pp:(Format.formatter -> 'a -> unit) ->
is_result:bool ->
'a ->
unit
val log_value_printbox : entry_id:int -> log_level:int -> PrintBox.t -> unit
val max_nesting_depth : int option ref
val max_num_children : int option ref
For PrintBox
runtimes, outputs the current logging stack to the logging channel. If the logging channel supports that, an output following a snapshot will rewind the channel to the state prior to the snapshot. Does nothing for the Flushing
runtimes.
A description that should be sufficient to locate where the logs end up. If not configured explicitly, it will be some combination of: the global prefix, the file name or "stdout".
For PrintBox
runtimes, when passed true within the scope of a log subtree, disables the logging of this subtree and its subtrees. Does not do anything when passed false (no_debug_if false
does not re-enable the log). Does nothing for the Flushing
runtimes.
val log_level : int ref
The runtime log level.
The log levels are used both at compile time, and for the PrintBox runtime. Not logging at compile time means the corresponding logging code is not generated; not logging at runtime means the logging state is not updated.