Ignore:
Timestamp:
15 Feb 2012, 08:25:58 (13 years ago)
Author:
Henrik Bettermann
Message:

Add principal name in log messages.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/trunk/src/waeup/sirp/utils/logger.py

    r7196 r7651  
    8282from waeup.sirp.interfaces import (
    8383    IDataCenter, IDataCenterStorageMovedEvent, ILoggerCollector)
     84from waeup.sirp.utils.helpers import get_current_principal
    8485
    8586#: Default logfile size (5 KB)
     
    116117        """
    117118
     119class ContextFilter(logging.Filter):
     120    """
     121    This is a filter which injects contextual information into the log.
     122
     123    """
     124
     125    def filter(self, record):
     126        user = get_current_principal()
     127        record.user = getattr(user, 'id', 'system')
     128        return True
     129
    118130class Logger(object):
    119131    """Mixin-class that for logging support.
     
    169181            dict(sitename='%s' % sitename))
    170182        logger = logging.getLogger(loggername)
     183        flt = ContextFilter()
     184        logger.addFilter(flt)
    171185        if site is None or sitename is None:
    172186            # Site not added to ZODB yet. Log to commandline
     
    202216        handler.setLevel(LEVEL)
    203217        formatter = logging.Formatter(
    204             '%(asctime)s - %(levelname)s - %(message)s')
     218            '%(asctime)s - %(levelname)s - %(user)s - %(message)s')
    205219        handler.setFormatter(formatter)
    206220
Note: See TracChangeset for help on using the changeset viewer.