Logging

Controlling printing

The following settings are used to control what is printed during initialization and event generations.

flag  Print:init   (default = on)
If disabled, messages (except for errors) are suppressed during initialization. In order to show only certain types of information, use the Init:showProcesses, Init:showMultipartonInteractions, Init:showChangedSettings, Init:showAllSettings, Init:showChangedParticleData, Init:showChangedResonanceData, Init:showAllParticleData, and Init:showOneParticleData settings.

flag  Print:next   (default = on)
If disabled, messages (except for errors) are suppressed during event generation. In order show only certain types of information, use the Next:numberCount, Next:numberShowLHA, Next:numberShowInfo, Next:numberShowProcess, and Next:numberShowEvent settings.

flag  Print:quiet   (default = off)
Can be set on to avoid the printing during program execution, to the largest extent possible. This is equivalent to turning off the three flags above.

Error messages

Error messages are printed through the Logger class. There are five types of error messages: In the Logger class, the abortMsg, errorMsg, warningMsg, and infoMsg methods are used to generate messages of the corresponding types. However, the standard way to output error messages is through the ABORT_MSG, ERROR_MSG, WARNING_MSG, and INFO_MSG macros. These macros expand to the corresponding methods, but automatically replaces the first argument by __METHOD_NAME__. For example, the two lines are equivalent: The reason macros are used this way is that there is no other easy way to automatically propagate the name of the method where the error occurred.

The following settings are used to control error logging features.

flag  Print:errors   (default = on)
If on, error messages are printed to the console the first time each of them occurs. Even if off, errors are still logged and displayed when calling Pythia::stat.

mode  Print:verbosity   (default = 2; minimum = 0; maximum = 3)
This setting determines which types of diagnostic messages are logged. Messages that don't satisfy the verbosity level will not be printed when calling Pythia::stat.
option 0 : No error messages are logged.
option 1 : Only critical abort messages are logged.
option 2 : All normal messages are logged (default).
option 3 : Also report messages are logged.

flag  Print:useErrorStream   (default = off)
By default, all logger messages are written to cout. If this flag is turned on, error messages will instead be written to cerr.