Search code examples
djangologgingtastypieaccess-log

Logging Tastypie requests (access log)


I'm having problems with creating an access logger for my tastypie restfull app. I'd like to log several HTTP headers in requests to server and pass them to logger/handler defined in django Settings file. The idea is to log every HTTP request into a access log file.

I've encountered several logging modules (apps) but they all use database, I want something simpler for a basic access log.


Solution

  • I ended up making my own Middleware class in middleware.py inside application root.

    Also I placed 'appname.middleware.RequestLoggerMiddleware', inside Settings.py Middleware section.

    Here is the code for my access logging middleware class:

    import logging
    
    logger = logging.getLogger('access')
    
    class RequestLoggerMiddleware(object):
        def process_request(self, request):
            ... logging logic here...
    
            logger.info('logging message'))
            return None
    

    For more info about Middleware components see Django Middleware documentation.