Page
Library
Module
Module type
Parameter
Class
Class type
Source
Brr.ConsoleSourceBrowser console.
See Console. Take a few minutes to understand this.
get () is the console object on which the functions below act. Initially this is G.console.
The type for log functions.
Log messages rebind OCaml's list syntax. This allows to write heterogeneous logging statements concisely.
let () = Console.(log [1; 2.; true; Jv.true'; str "🐫"; G.navigator])The console logs JavaScript values. For OCaml values this means that their js_of_ocaml representation is logged; see the FFI manual for details. Most OCaml values behind Brr types are however direct JavaScript values and logging them as is will be valuable. For other values you can use the str function which invokes the JavaScript toString method on the value. It works on OCaml strings and is mostly equivalent and shorter than calling Jstr.v before logging them.
In the JavaScript console API, if the first argument is a JavaScript string it can have formatting specifications. Just remember this should be a JavaScript string, so wrap OCaml literals by str or Jstr.v:
let () = Console.(log [str "This is:\n%o\n the navigator"; G.navigator])str v is the result of invoking the JavaScript toString method on the representation of v. If v is Jv.null and Jv.undefined a string representing them is directly returned.
Result logginglog_result ~ok ~error r is r but logs r using log and ok to format Ok v and error and error for Error e. ok defaults to [v] and error to [str e].
log_if_error ~l ~error_msg ~use r is v if r is Ok v and use if r is Error e. In this case e is logged with l (defaults to error) and error_msg (defaults to str e).
val log_if_error' :
?l:log ->
?error_msg:'b msgr ->
use:'a ->
('a, 'b) result ->
('a, 'b) resultlog_if_error' is log_if_error wrapped by Result.ok.
trace m logs m with no specific level but with a stack trace, like error and warn do.
table v outputs v as tabular data. If cols is specified only the specified properties are printed.
group ~closed msg logs msg and pushes a new inline group in the console. This indents messages until group_end is called. If closed is true (defaults to false) the group's content is hidden behind a disclosure button.
count label logs label with the number of times count label was called.
time_log label msg reports the timer value of label with msg appended to the report.