Module IBase.Logging
include module type of Die
- exception- InferExternalError of string
- exception- InferInternalError of string
- exception- InferUserError of string
- exception- InferExit of int
- This can be used to avoid scattering exit invocations all over the codebase 
- type error- =- |- ExternalError- |- InternalError- |- UserError
- kind of error for - die, with similar semantics as- Logging.{external,internal,user}_error
- val exit : int -> 'a
- val exit_code_of_exception : IStdlib.IStd.Exn.t -> int
- val set_log_uncaught_exception_callback : (exn -> exitcode:int -> unit) -> unit
- val log_uncaught_exception : exn -> exitcode:int -> unit
- val die : error -> ('a, Stdlib.Format.formatter, unit, _) IStdlib.IStd.format4 -> 'a
- Raise the corresponding exception. 
- val raise_error : ?backtrace:IStdlib.IStd.Caml.Printexc.raw_backtrace -> error -> msg:string -> 'a
- val term_styles_of_style : style -> IStdlib.IStd.ANSITerminal.style list
- val environment_info : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- log information about the environment 
- val progress : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- print immediately to standard error unless --quiet is specified 
- val log_task : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- log progress in the log file and on the console unless there is an active task bar 
- val task_progress : f:(unit -> 'a) -> (F.formatter -> 'b -> unit) -> 'b -> 'a
- task_progress ~f pp xexecutes- fand log progress- pp xin the log file and also on the console unless there is an active task bar
- val result : ('a, F.formatter, unit) IStdlib.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 - progressinstead otherwise).
- val user_error : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- bad input, etc. detected 
- val user_warning : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- val internal_error : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- huho, infer has a bug 
- val external_error : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- some other tool has a bug or is called wrongly 
- val external_warning : ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- type debug_kind- =- |- Analysis- |- BufferOverrun- |- Capture- |- Linters- |- MergeCapture- |- TestDeterminator
- 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) IStdlib.IStd.format -> 'a
- log debug info 
- val debug_dev : ('a, Stdlib.Format.formatter, unit) IStdlib.IStd.format -> 'a
- For debugging during development. 
- val ocaml_pos_to_string : ocaml_pos -> string
- Convert an ocaml position to a string 
- val pp_ocaml_pos_opt : F.formatter -> ocaml_pos option -> unit
- Pretty print a position in ocaml source 
- 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). 
- val d_pp : (F.formatter -> 'a -> unit) -> 'a -> unit
- val d_pp_with_pe : ?color:IStdlib.Pp.color -> (IStdlib.Pp.env -> F.formatter -> 'a -> unit) -> 'a -> unit
- val force_and_reset_delayed_prints : F.formatter -> unit
- val get_and_reset_delayed_prints : unit -> delayed_prints
- return the delayed print actions and reset them 
- val set_delayed_prints : delayed_prints -> unit
- set the delayed print actions 
- val d_str : ?color:IStdlib.Pp.color -> string -> unit
- dump a string 
- val d_strln : ?color:IStdlib.Pp.color -> string -> unit
- dump a string plus newline 
- val d_printf : ?color:IStdlib.Pp.color -> ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- val d_printfln : ?color:IStdlib.Pp.color -> ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- val d_printfln_escaped : ?color:IStdlib.Pp.color -> ('a, F.formatter, unit) IStdlib.IStd.format -> 'a
- val d_error : string -> unit
- dump an error string 
- val d_increase_indent : unit -> unit
- dump command to increase the indentation level. NOTE: most likely, you need - d_with_indentinstead
- val d_decrease_indent : unit -> unit
- dump command to decrease the indentation level NOTE: most likely, you need - d_with_indentinstead.
- val d_with_indent : ?pp_result:(F.formatter -> 'a -> unit) -> name:string -> (unit -> 'a) -> 'a
- Execute arbitrary function (the last argument) with a given - nameso that all logs written inside (if any) are written with indentation.- pp_result, if provided, will make the result of a call to be printed as well (useful for cases when there are several places when the function returns).- NOTE: If you want to use it NOT at the very top level of a function, it is a code smell, and you probably want to split your function into smaller ones.