# C.1 Logging levels

plasTeXuses standard python logging to document what it is doing. The loggers that are defined by default are `context`, `context.macros`, `context.stack`, `imager`, `parse`, `parse.commands`, `parse.definitions`, `parse.digest`, `parse.environments`, `parse.mathshift`, `parse.persistent`, `parse.sections`, `parse.tokens`, `render`, `render.images`, `render.images.depth`, `simpleTAL`, `simpleTALES`, `status`, `tex`, `tex.kpsewhich`.

When using the main plastex script, you can change the corresponding levels to values `CRITICAL`, `ERROR`, `WARNING`, `INFO`, or `DEBUG` by using a configuration file with a `[logging]` section such as:

    [logging]
    parse.environments=DEBUG

if you want more information about environment parsing.

If the renderer you use does not call LaTeX for creating images, you can also achieve the same result from your LaTeX document by writing `\usepackage{debugplastex}` and then `\setloglevel{parse.environments}{DEBUG}`.

When using plasTeX from python, you can use the function `plasTeX.Logging.updateLogLevels` to update logging levels. It takes a dictionary whose keys are logger names and values are levels (both are strings). Non-existent loggers are created, loggers whose names are not keys of the input dictionary are unaffected.