Refactor metrics logger

This commit is contained in:
Mario de Frutos
2016-08-01 13:17:06 +02:00
parent 4d47b905e8
commit f9f39dcf9c
2 changed files with 10 additions and 10 deletions
@@ -4,17 +4,17 @@ import json
import re import re
class LoggerFactory: class MetricsLoggerFactory:
@classmethod @classmethod
def build(self, service_config): def build(self, service_config):
if re.match('geocoder_*', service_config.service_type): if re.match('geocoder_*', service_config.service_type):
return GeocoderLogger(service_config) return MetricsGeocoderLogger(service_config)
else: else:
return None return None
class Logger(object): class MetricsLogger(object):
__metaclass__ = abc.ABCMeta __metaclass__ = abc.ABCMeta
def __init__(self, file_path): def __init__(self, file_path):
@@ -30,10 +30,10 @@ class Logger(object):
raise NotImplementedError('log method must be defined') raise NotImplementedError('log method must be defined')
class GeocoderLogger(Logger): class MetricsGeocoderLogger(MetricsLogger):
def __init__(self, service_config): def __init__(self, service_config):
super(GeocoderLogger, self).__init__(service_config.log_path) super(MetricsGeocoderLogger, self).__init__(service_config.log_path)
self._service_config = service_config self._service_config = service_config
def log(self, **data): def log(self, **data):
@@ -1,5 +1,5 @@
from user import UserMetricsService from user import UserMetricsService
from log import LoggerFactory from log import MetricsLoggerFactory
from datetime import date from datetime import date
import re import re
@@ -14,7 +14,7 @@ class QuotaService:
redis_connection) redis_connection)
self._user_service = UserMetricsService(self._user_service_config, self._user_service = UserMetricsService(self._user_service_config,
redis_connection) redis_connection)
self._logger = LoggerFactory.build(user_service_config) self._metrics_logger = MetricsLoggerFactory.build(user_service_config)
def check_user_quota(self): def check_user_quota(self):
return self._quota_checker.check() return self._quota_checker.check()
@@ -48,11 +48,11 @@ class QuotaService:
amount=amount) amount=amount)
def _log_service_process(self, event): def _log_service_process(self, event):
if self._logger: if self._metrics_logger:
if event is 'success' or event is 'empty': if event is 'success' or event is 'empty':
self._logger.log(success=True) self._metrics_logger.log(success=True)
elif event is 'empty': elif event is 'empty':
self._logger.log(success=False) self._metrics_logger.log(success=False)
class QuotaChecker: class QuotaChecker: