27 lines
657 B
Python
27 lines
657 B
Python
import logging
|
|
|
|
|
|
logger = logging.getLogger(__name__)
|
|
|
|
|
|
class LogSendException(Exception):
|
|
""" A generic error when sending the logs to its destination.
|
|
e.g. Kinesis, Kafka, Elasticsearch, ...
|
|
"""
|
|
pass
|
|
|
|
|
|
class LogProducerProxy(object):
|
|
def __init__(self):
|
|
self._model = None
|
|
|
|
def initialize(self, model):
|
|
self._model = model
|
|
logger.info('===============================')
|
|
logger.info('Using producer `%s`', self._model)
|
|
logger.info('===============================')
|
|
|
|
def __getattr__(self, attr):
|
|
if not self._model:
|
|
raise AttributeError("LogsModelProxy is not initialized")
|
|
return getattr(self._model, attr)
|