Version: SMASH-3.1
Logging

The Logging section in the input file controls the logging levels for different areas of the code, each of which can have a different verbosity level. All keys and hence the section itself are optional. Valid key values are the following:

  • "ALL" → Log all messages (default)
  • "TRACE" → The lowest level for messages describing the program flow
  • "DEBUG" → Debug messages
  • "INFO" → Messages of informational nature
  • "WARN" → Warning messages
  • "ERROR" → Non-fatal errors
  • "FATAL" → Messages that indicate terminal application failure
  • "OFF" → If selected no messages will be printed to the output

Note that the logging levels TRACE and DEBUG are only available in debug builds (i.e. running cmake with -DCMAKE_BUILD_TYPE=Debug).

Warning
In the following you will find more logging areas that as user you are probably going to need. Most of them are useful to developers e.g. for debugging purposes and that's also the reason why, in Release mode, only few logging areas appear in the standard output. If the explanation of a given key looks cryptic to you, you are likely not going to need that key. For the sake of completeness, though, we list here all possible logging areas, trying to list first those logging areas that might most likely be relevant for the user.

Setting the default for all logging areas

default — string, optional, default = ALL

It determines the default logging level for all areas.


Most user-relevant logging areas

Box — string, optional, default = ${default}

Messages specific to the box modus implementation belong to this area.


Collider — string, optional, default = ${default}

Messages specific to the collider modus implementation belong to this area.


Configuration — string, optional, default = ${default}

Messages about the input configuration file belong to this area.


Experiment — string, optional, default = ${default}

Messages mostly coming from the Experiment class belong to this area.


GrandcanThermalizer — string, optional, default = ${default}

Messages about the gran-canonical thermalization belong to this area.


InitialConditions — string, optional, default = ${default}

Messages about initial conditions belong to this area.


List — string, optional, default = ${default}

Messages specific to the list modus implementation belong to this area.


Main — string, optional, default = ${default}

Messages coming from top-level of the application belong to this area.


Output — string, optional, default = ${default}

Messages output functionality belong to this area.


Potentials — string, optional, default = ${default}

Messages regarding the potentials belong to this area.


RootSolver — string, optional, default = ${default}

Messages specific to the root finding belong to this area.


Sphere — string, optional, default = ${default}

Messages specific to the sphere modus implementation belong to this area.


Most technical logging areas (in alphabetical order)

Action — string, optional, default = ${default}

Messages mostly coming from the Action class belong to this area.


Clock — string, optional, default = ${default}

Messages coming from clock implementation belong to this area.


CrossSections — string, optional, default = ${default}

Messages about cross sections belong to this area.


DecayModes — string, optional, default = ${default}

Messages coming from decay tools belong to this area.


Density — string, optional, default = ${default}

Messages coming from density calculations belong to this area.


Distributions — string, optional, default = ${default}

Messages about quantity distributions belong to this area.


FindScatter — string, optional, default = ${default}

Messages coming from search tools for scattering belong to this area.


Fpe — string, optional, default = ${default}

Messages about floating point exceptions belong to this area.


Grid — string, optional, default = ${default}

Messages coming from the grid implementation belong to this area.


HyperSurfaceCrossing — string, optional, default = ${default}

Messages about hypersurface crossing belong to this area.


InputParser — string, optional, default = ${default}

Messages coming from input parsing tools belong to this area.


Lattice — string, optional, default = ${default}

Messages coming from the lattice implementation belong to this area.


Nucleus — string, optional, default = ${default}

Messages coming from the nucleus implementation belong to this area.


ParticleType — string, optional, default = ${default}

Messages coming from particle types implementation belong to this area.


PauliBlocking — string, optional, default = ${default}

Messages about Pauli blocking belong to this area.


Propagation — string, optional, default = ${default}

Messages about particles propagation belong to this area.


Pythia — string, optional, default = ${default}

Messages coming from Pythia usage in SMASH belong to this area.


Resonances — string, optional, default = ${default}

Messages coming from resonances aspects belong to this area.


ScatterAction — string, optional, default = ${default}

Messages about scattering events belong to this area.


ScatterActionMulti — string, optional, default = ${default}

Messages about scattering events with multiple particles belong to this area.


Tmn — string, optional, default = ${default}

Messages about the energy momentum tensor belong to this area.


Example: Configuring the Logging Area

To activate different logging levels for different logging areas, change the default level for the desired areas. For example:

Logging:
    default:    "WARN"
    Main:       "INFO"
    Experiment: "INFO"
    Pythia:     "DEBUG"
    Fpe:        "OFF"

This will set all levels to WARN verbosity, still asking for informational messages of Main and Experiment areas. Furthermore, Pythia debug messages are requested, while any floating point exception message is turned off.