Guest User

Untitled

a guest
Nov 18th, 2017
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. import logging
  2.  
  3. class Runner(object):
  4.  
  5. def __init__(self):
  6. logging.basicConfig(level=logging.DEBUG)
  7. logger = logging.getLogger(__name__)
  8. adapter = CustomAdapter(logger, {'runner': self})
  9.  
  10. # adapter.debug('Some debug message')
  11. # adapter.warning('Some warning message')
  12. self.i = 0
  13. self.logger = adapter
  14.  
  15. @property
  16. def _project(self):
  17. self.i += 1
  18. if self.i <= 4:
  19. return {
  20. '_id': 'MBTEST-PROJECT-ID'
  21. }
  22. else:
  23. return {
  24. '_id': 'MBTEST-PROJECT-ID',
  25. 'datarobot_project_id': 'IDIDIIDIDI'
  26. }
  27.  
  28.  
  29. class CustomAdapter(logging.LoggerAdapter):
  30. def process(self, msg, kwargs):
  31. runner = self.extra['runner']
  32. mbtest_project_id = '<mbtest_project_id:{pid}>'.format(
  33. pid=runner._project['_id'])
  34. project_id = runner._project.get('datarobot_project_id', mbtest_project_id)
  35. return '[%s] %s' % (project_id, msg), kwargs
  36.  
  37.  
  38. r = Runner()
  39.  
  40. r.logger.debug('Debug message')
  41. r.logger.info('Info message')
  42. r.logger.warning('Warining message')
Add Comment
Please, Sign In to add comment