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.9.0.tbz
    
    
        
    
  
  
  
    
  
        sha512=b75fb28e83f33461b06b5c9b60972c4a9a9a1599d637b4a0c7b1e86a87f34fe5361e817cb31f42ad7e7cbb822473b28fab9f58a02870eb189ebe88dae8e045ff
    
    
  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 is- Some Logs.Infoand more than once- Some Logs.Debug.
- --verbosity=LEVEL, the value of the term is- lwhere- ldepends on on- LEVEL. Takes over the option- -v.
- -qor- --quiet, the value of the term is- None. 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
let setup_log =
  let env = Cmd.Env.info "TOOL_VERBOSITY" in
  Term.(const setup_log $ Fmt_cli.style_renderer () $ Logs_cli.level ~env ())
let msg =
  let doc = "The message to output."  in
  Arg.(value & pos 0 string "Hello horrible world!" & info [] ~doc)
let main () =
  let cmd = Cmd.make (Cmd.info "tool") Term.(const hello $ setup_log $ msg) in
  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