如何为金字塔/挂架2编写日志记录中间件?

Tim*_*mmy 4 python logging mongodb pyramid

我想使用mongodb或redis来保存金字塔/挂架中的用户日志,但无法找到有关创建middeware的文档.我该怎么办呢?

est*_*tin 9

Standart中间件

class LoggerMiddleware(object):
    '''WSGI middleware'''

    def __init__(self, application):

        self.app = application

    def __call__(self, environ, start_response):

        # write logs

        try:
            return self.app(environ, start_response)
        except Exception, e:
            # write logs
            pass
        finally:
            # write logs
            pass
Run Code Online (Sandbox Code Playgroud)

在金字塔创建应用程序代码:

from paste.httpserver import serve
from pyramid.response import Response
from pyramid.view import view_config

@view_config()
def hello(request):
    return Response('Hello')

if __name__ == '__main__':
    from pyramid.config import Configurator
    config = Configurator()
    config.scan()
    app = config.make_wsgi_app()

    # Put middleware
    app = LoggerMiddleware(app)

    serve(app, host='0.0.0.0')
Run Code Online (Sandbox Code Playgroud)