Logging¶
Standard logging¶
xmldirector.plonecore
comes has its own logger that will write
its output to the standard configured Plone logger which is usally
bound to var/log/instance.log
if not configured otherwise. The
LOG
object is just a tiny wrapper for the standard Python
logging facility (see https://docs.python.org/2/library/logging.html).
Usage:
from xmldirector.plonecore.logger import LOG
def my_code(...):
LOG.debug('debug message')
LOG.info('info message')
LOG.warn('warn message')
LOG.error('error message')
Persistent logging¶
xmldirector.plonecore
also support persistent logging where
the log data is stored on an arbitrary persistent Plone object.
This functionality can be used for logging object specific data
(e.g. XML conversion results).
Usage:
from xmldirector.plonecore.logger import IPersistentLogger
def convert_it(...):
# ``context`` represents the current context object
adapter = IPersistentLogger(context)
adapter.log(u'this is a logging message')
adapter.log(u'this is an error message', level='error')
adapter.log(u'this is an error message', level='error', details='....')
details
can be either a string or a Python datastructure like a dict, a
list or a tuple. The logger will convert non-string data using the pprint
module of Python into a nicely readable string.
The logs can be view through-the-web through the URL http://host/path/to/object/@@connector-log. The logs can be clear using the URL http://host/path/to/object/@@connector-log-clear. Both URLs require the permission of modify the related object.