log messages at different levels of verbosity
include module type of InferBase.Die
exception
InferExit of int
This can be used to avoid scattering exit invocations all over the codebase
val exit_code_of_exception : InferStdlib.IStd.Exn.t ‑> int
val die : error ‑> ('a, Format.formatter, unit, _) InferStdlib.IStd.format4 ‑> 'a
Raise the corresponding exception.
val raise_error : error ‑> msg:string ‑> 'a
val term_styles_of_style : style ‑> InferStdlib.IStd.ANSITerminal.style list
val environment_info : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
log information about the environment
val progress : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
print immediately to standard error unless --quiet is specified
val progressbar_timeout_event : InferBase.SymOp.failure_kind ‑> unit
Progress bar: log a timeout event if in developer mode.
val result : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
Emit a result to stdout. Use only if the output format is stable and useful enough that it may
conceivably get piped to another program, ie, almost never (use progress
instead otherwise).
val user_warning : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
val external_error : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
some other tool has a bug or is called wrongly
val external_warning : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
type debug_level
=
| Quiet | (** innocuous, eg emitted once per toplevel execution *) |
| Medium | (** still fairly lightweight, eg emitted O(<number of infer processes>) *) |
| Verbose | (** go crazy *) |
Level of verbosity for debug output. Each level enables all the levels before it.
val debug : debug_kind ‑> debug_level ‑> ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'a
log debug info
val debug_dev : ('a, Format.formatter, unit) InferStdlib.IStd.format ‑> 'a
For debugging during development.
log management
val setup_log_file : unit ‑> unit
Set up logging to go to the log file. Call this once the results directory has been set up.
val reset_formatters : unit ‑> unit
Reset the formatters used for logging. Call this when you fork(2).
Delayed printing (HTML debug, ...)
type print_type
=
type of printable elements
val printer_hook : (F.formatter ‑> print_action ‑> unit) InferStdlib.IStd.ref
hook for the current printer of delayed print actions
val d_strln_color : InferStdlib.Pp.color ‑> string ‑> unit
dump a string plus newline with the given color