GnuCash Log Domains
GnuCash log-domains
The following domains associated with specific modules in the GnuCash code are defined for Gnucash (as at 4th Sept., 2018) by macros in gnc_engine.h.
#define GNC_MOD_ROOT "gnc"
#define GNC_MOD_ENGINE "gnc.engine"
#define GNC_MOD_ACCOUNT "gnc.account"
#define GNC_MOD_SX "gnc.engine.sx"
#define GNC_MOD_QUERY "gnc.query"
#define GNC_MOD_SCRUB "gnc.scrub"
#define GNC_MOD_LOT "gnc.lots"
#define GNC_MOD_COMMODITY "gnc.commodity"
#define GNC_MOD_BACKEND "gnc.backend"
#define GNC_MOD_PRICE "gnc.pricedb"
#define GNC_MOD_BUSINESS "gnc.business"
#define GNC_MOD_IO "gnc.io"
#define GNC_MOD_BOOK "gnc.book-period"
#define GNC_MOD_GUI "gnc.gui"
#define GNC_MOD_GUI_SX "gnc.gui.sx"
#define GNC_MOD_GUILE "gnc.guile"
#define GNC_MOD_LEDGER "gnc.ledger"
#define GNC_MOD_REGISTER "gnc.register"
#define GNC_MOD_HTML "gnc.html"
#define GNC_MOD_PREFS "gnc.pref"
#define GNC_MOD_IMPORT "gnc.import"
#define GNC_MOD_ASSISTANT "gnc.assistant"
#define GNC_MOD_TEST "gnc.tests"
#define GNC_MOD_BUDGET "gnc.budget"
The log-domain applied a given section of code is defined by including a line of the form:
static QofLogModule log_module = GNC_MOD_IMPORT;
substituting the appropriate macro from the above list in the C code after header files have been included. It should not be placed in any public header files as these may be include by C code in other code areas which are not in the specified domain.
The log-domains define specific modules or areas of the code where a log-level' can be set to control the level of logging information logged by that area of code. When setting a log-level for given log-domain, either in ./gnucash/log.conf or supplied as command line arguments, the string enclosed in quotes above is used to refer to the log-domain.
E.g. The command line switch$gnucash --log gnc.import=debug