Configuration¶
The celpy package uses a configuration file to set the logging options.
If a celpy.toml file exists in the local directory or the user’s HOME directory, this will be used to provide logging configuration for the celpy application.
This file must have a logging paragraph.
This paragraph can contain the parameters for logging configuration.
[logging]
version = 1
formatters.minimal.format = "%(message)s"
formatters.console.format = "%(levelname)s:%(name)s:%(message)s"
formatters.details.format = "%(levelname)s:%(name)s:%(module)s:%(lineno)d:%(message)s"
root.level = "WARNING"
root.handlers = ["console"]
[logging.handlers.console]
class = "logging.StreamHandler"
formatter = "console"
This provides minimal log output, showing only warnings, errors, and fatal error messages.
The root.level needs to be “INFO” or “DEBUG” to see more output.
Setting a specific logger’s level to “DEBUG” will raise the logging level for a specific component.
All of the celpy loggers have names starting with celpy..
This permits integration with other application without polluting those logs with celpy output.
To enable very detailed debugging, do the following:
Set the
CEL_TRACEenvironment variable to some non-empty value, like"true". This enables a@tracedecorator on some evaluation methods.Add a
[logging.loggers.celpy.Evaluator]paragraph, withlevel = "DEBUG". This can be done for any of thecelpycomponents with loggers.In the
[logging]paragraph, setroot.level = "DEBUG".
Loggers include the following:
celpycelpy.Runnercelpy.Environmentcelpy.replcelpy.c7nlibcelpy.celtypescelpy.evaluationcelpy.NameContainercelpy.Evaluatorcelpy.Transpiler