Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from uuid import uuid4
- from datetime import datetime
- import logging
- from logging.handlers import TimedRotatingFileHandler
- FORMAT = "[%(asctime)s] %(levelname)s %(message)s"
- formatter = logging.Formatter(FORMAT)
- logger = logging.getLogger(__name__)
- logger.setLevel(logging.INFO)
- fh = TimedRotatingFileHandler('aplygo.log'.format(datetime.now()), 'D')
- fh.setLevel(logging.INFO)
- fh.setFormatter(formatter)
- fe = TimedRotatingFileHandler('aplygo.err'.format(datetime.now()), 'D')
- fe.setLevel(logging.WARNING)
- fe.setFormatter(formatter)
- logger.addHandler(fh)
- logger.addHandler(fe)
- class LoggingMiddleware(object):
- def __init__(self, get_response):
- self.get_response = get_response
- def __call__(self, request):
- request.internal_operation_code = uuid4()
- response = self.get_response(request)
- status_code = response.status_code
- if status_code >= 500:
- level = logger.error
- elif status_code >= 400:
- level = logger.warning
- else:
- level = logger.info
- level("[{}] {} {} {}".format(request.user, request.method, request.path, status_code))
- return response
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement