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

View File

@@ -4,17 +4,17 @@ import json
import re
class LoggerFactory:
class MetricsLoggerFactory:
@classmethod
def build(self, service_config):
if re.match('geocoder_*', service_config.service_type):
return GeocoderLogger(service_config)
return MetricsGeocoderLogger(service_config)
else:
return None
class Logger(object):
class MetricsLogger(object):
__metaclass__ = abc.ABCMeta
def __init__(self, file_path):
@@ -30,10 +30,10 @@ class Logger(object):
raise NotImplementedError('log method must be defined')
class GeocoderLogger(Logger):
class MetricsGeocoderLogger(MetricsLogger):
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
def log(self, **data):

View File

@@ -1,5 +1,5 @@
from user import UserMetricsService
from log import LoggerFactory
from log import MetricsLoggerFactory
from datetime import date
import re
@@ -14,7 +14,7 @@ class QuotaService:
redis_connection)
self._user_service = UserMetricsService(self._user_service_config,
redis_connection)
self._logger = LoggerFactory.build(user_service_config)
self._metrics_logger = MetricsLoggerFactory.build(user_service_config)
def check_user_quota(self):
return self._quota_checker.check()
@@ -48,11 +48,11 @@ class QuotaService:
amount=amount)
def _log_service_process(self, event):
if self._logger:
if self._metrics_logger:
if event is 'success' or event is 'empty':
self._logger.log(success=True)
self._metrics_logger.log(success=True)
elif event is 'empty':
self._logger.log(success=False)
self._metrics_logger.log(success=False)
class QuotaChecker: