from logging import Filter

class PasswordObfuscationFilter(Filter):
    """Filters out passwords in log messages."""

    def filter(self, record):
        if hasattr(record, 'request') and record.request.POST.get('password', None):
            qd = record.request.POST.copy()
            qd['password'] = "%s (removed)" % ('x'*8)
            record.request.POST = qd
        return True