Advertisement
Guest User

Untitled

a guest
Dec 11th, 2016
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.34 KB | None | 0 0
  1. import logging
  2.  
  3. class MyLogging(object):
  4. """This will return singleton object as per filename."""
  5. _instance = {}
  6. def __new__(cls, file_name):
  7. if not cls._instance.get(file_name):
  8. cls._instance = super(MyLogging, cls).__new__(cls, file_name)
  9. return cls._instance
  10.  
  11. def __init__(self, file_name):
  12. self.logger = logging.getLogger(file_name')
  13. self.info_log = []
  14. self.error_log = []
  15.  
  16. def log_append(self, logtype, msg):
  17. """
  18. Appending into log .
  19. """
  20. d = getattr(self, '%s_log' % logtype)
  21. d.append(msg)
  22.  
  23. def info(self, msg):
  24. self.log_append('info', msg)
  25.  
  26. def error(self, msg):
  27. self.log_append('error', msg)
  28.  
  29. def dump(self):
  30. self.logger.info(",".join(self.info_log))
  31. self.logger.info(",".join(self.error_log))
  32.  
  33. mylogger = MyLogging('app.abc')
  34.  
  35. def abc(request):
  36. mylogging.info(request.data)
  37. # doing something.
  38. mylogging.error("something")
  39. return httpresponse
  40.  
  41. mylogger = MyLogging('app.abc')
  42.  
  43. def abc_util(arg):
  44. mylogging.info(arg)
  45.  
  46. mylogger = MyLogging('app.abc')
  47.  
  48. class LogDumpMiddleware(object):
  49. def process_response(self, request, response):
  50. mylogger.dump()
  51. # Assumption: Multi Processes not multi threaded.
  52. mylogger._instance = None
  53. return response
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement