Skip to content

Resolve "Add a logging framework for command line output"

What does this MR do?

Use loggers for the entire terminal output of DORiE.

  • Replace config keys verbose with logLevel, taking the same names as defined by spdlog
  • Rename setup_inifile.hh to setup.hh and add functions:
    • Setup::init initializes the MPI helper, the config file, and the base logger
    • Setup::debug_hook halts the program for a debugger to hook into the program
  • Add logger as optional argument to most classes, such that they use a certain logger by default or the one specified by the programmer
  • Add developer docs on how to use the loggers

Is there something that needs to be double checked?

All DUNE output (other than exceptions) is currently suppressed. One option would be to write a stream buffer, into which the output of functions like PDELab::mark_grid is stored. This storage could then be accessed and displayed via a logger at a certain log level setting.

Can this MR be accepted?

  • Implemented logging feature
  • Pipeline passing
  • Updated README.md with information on Git Submodule
  • Added entry to CHANGELOG.md

Related issues

Closes #92 (closed)

What does the new output look like?

Log levels on info:

Screen_Shot_2018-10-26_at_15.03.23

Log levels on debug:

Screen_Shot_2018-10-26_at_15.37.26

Log levels on trace:

Screen_Shot_2018-10-26_at_15.39.52

with adaptivity

debug:

Screen_Shot_2018-10-26_at_15.42.33

trace:

Screen_Shot_2018-10-26_at_15.43.12

Edited by Lukas Riedel

Merge request reports