GnuCash Log Domains

From GnuCash
Revision as of 04:34, 4 September 2018 by DaveC49 (talk | contribs) (Add breakout for defined log domains in GnuCash)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

GnuCash log-domains

The following domains 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. They define specific 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 log-domains either in ./gnucash/log.conf or when 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
enables debug level information to be output by code which is defined in the log-domain gnc.import, where gnc refers to gnucash and import refers to areas of code associated with importing data.