package logs
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page
Logging infrastructure for OCaml
Install
dune-project
Dependency
Authors
Maintainers
Sources
logs-0.10.0.tbz
sha512=122b7a77bd07aee1e0cb8e07e82b195a12528cf015e72fa0dd5afaae26ce04bad9b29f32a6d3bd3547fe522b8a036608785e8adb900e31580a0d555719bbb7e7
doc/logs.cli/Logs_cli/index.html
Module Logs_cliSource
See a full example.
Options for setting the report level
Source
val level :
?env:Cmdliner.Cmd.Env.info ->
?docs:string ->
unit ->
Logs.level option Cmdliner.Term.tlevel ?env ?docs () is a term for three Cmdliner options that can be used with Logs.set_level. The options are documented under docs (defaults to the default of Cmdliner.Arg.info).
The options work as follows:
-vor--verbose, if it appears once, the value of the term isSome Logs.Infoand more than onceSome Logs.Debug.--verbosity=LEVEL, the value of the term islwhereldepends on onLEVEL. Takes over the option-v.-qor--quiet, the value of the term isNone. Takes over the-vand--verbosityoptions.- If both options are absent the default value is
Some Logs.warning
If env is provided, the default value in case all options are absent can be overridden by the corresponding environment variable.
Example
The following example shows how to setup Logs and Fmt so that logging is performed on standard outputs with ANSI coloring if these are ttys. The command line interface provides options to control the use of colors and the log reporting level.
let hello _ msg =
Logs.app (fun m -> m "%s" msg);
Logs.info (fun m -> m "End-user information.");
Logs.debug (fun m -> m "Developer information.");
Logs.err (fun m -> m "Something bad happened.");
Logs.warn (fun m -> m "Something bad may happen in the future.");
if Logs.err_count () > 0 then 1 else 0
let setup_log ~style_renderer ~level =
Fmt_tty.setup_std_outputs ?style_renderer ();
Logs.set_level level;
Logs.set_reporter (Logs_fmt.reporter ())
(* Command line interface *)
open Cmdliner
open Cmdliner.Term.Syntax
let cmd =
Cmd.make (Cmd.info "tool") @@
let env = Cmd.Env.info "TOOL_VERBOSITY" in
let+ style_renderer = Fmt_cli.style_renderer ()
and+ level = Logs_cli.level ~env ()
and+ msg =
let doc = "The message to output." in
Arg.(value & pos 0 string "Hello horrible world!" & info [] ~doc)
in
setup_log ~style_renderer ~level;
hello msg
let main () = Cmd.eval' cmd
let () = if !Sys.interactive then () else exit (main ())
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>
On This Page