Example #1
0
    def process_response(self, request, response):
        code = response.status_code

        fields = dict(status_code=code)
        if 'content-type' in response:
            fields['content_type'] = response['content-type']
            
        with log.fields(**fields):
            method = log.error if code >= 500 else log.info
            method('Request processed')

        request._logger_ctx.__exit__(None, None, None)

        response['X-Request-Id'] = request.uuid
        return response
#!/usr/bin/env python

from twiggy_goodies.setup import setup_logging
from twiggy_goodies.threading import log

def some_function():
    log.info('inner function does not accept logger')
    log.info('but uses same field as caller')


setup_logging(None)

log.info('before request')

with log.fields(request_id='foo'):
    log.info('bar has happened')
    some_function()

log.info('after request, id gone')