log messages at different levels of verbosity
include module type of InferBase.Dieexception InferExit of intThis can be used to avoid scattering exit invocations all over the codebase
val exit_code_of_exception : InferStdlib.IStd.Exn.t ‑> intval die : error ‑> ('a, Format.formatter, unit, _) InferStdlib.IStd.format4 ‑> 'aRaise the corresponding exception.
val raise_error : error ‑> msg:string ‑> 'aval term_styles_of_style : style ‑> InferStdlib.IStd.ANSITerminal.style listval environment_info : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'alog information about the environment
val progress : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'aprint immediately to standard error unless --quiet is specified
val progressbar_timeout_event : InferBase.SymOp.failure_kind ‑> unitProgress bar: log a timeout event if in developer mode.
val result : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'aEmit 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 ‑> 'aval external_error : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'asome other tool has a bug or is called wrongly
val external_warning : ('a, F.formatter, unit) InferStdlib.IStd.format ‑> 'atype 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 ‑> 'alog debug info
val debug_dev : ('a, Format.formatter, unit) InferStdlib.IStd.format ‑> 'aFor debugging during development.
log management
val setup_log_file : unit ‑> unitSet up logging to go to the log file. Call this once the results directory has been set up.
val reset_formatters : unit ‑> unitReset 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.refhook for the current printer of delayed print actions
val d_strln_color : InferStdlib.Pp.color ‑> string ‑> unitdump a string plus newline with the given color