import logging setup_logging = __import__('logging_config').setup_logging setup_logging() logger = logging.getLogger('interactors') class Interactor: def __init__(self, channel, entity): self.channel = channel self.entity = entity self.channel.on('create', self.create) self.channel.on('read', self.read) self.channel.on('update', self.update) self.channel.on('delete', self.delete) def create(self, key: str, value: any): try: self.entity.create(key, value) logger.info(f"Create event emitted: {key} = {value}") except Exception as e: logger.error(f"Error emitting create event: {e}") def read(self, key: str): try: self.entity.read(key) logger.info(f"Read event emitted: {key}") except Exception as e: logger.error(f"Error emitting read event: {e}") def update(self, key: str, value: any): try: self.entity.update(key, value) logger.info(f"Update event emitted: {key} = {value}") except Exception as e: logger.error(f"Error emitting update event: {e}") def delete(self, key: str): try: self.entity.delete(key) logger.info(f"Delete event emitted: {key}") except Exception as e: logger.error(f"Error emitting delete event: {e}")