Morepath has support for logging directive execution. This can be helpful when debugging why your Morepath application does not do what was expected. Morepath’s directive logging makes use of Python’s logging module, which is very flexible.
To get the complete log of directive executions, you can set up the following code in your project:
directive_logger = logging.getLogger('morepath.directive') directive_logger.addHandler(logging.StreamHandler()) directive_logger.setLevel(logging.DEBUG)
StreamHandler logs messages to
stderr. You can reconfigure
this or use another handler altogether. You need to change the log
level so that
logging.DEBUG level messages are also shown, as
Morepath’s directive logging uses this log level.
You can also configure it to just see the output for one particular directive.
To see all
path directive executed in your project you’d
getLogger statement to this:
directive_logger = logging.getLogger('morepath.directive.path')
The Python logging module has many more options, but this should get you started.