def log_actor_destroy(self, actor_id):
        disconnected = []
        for user_id, logger in self.loggers.iteritems():
            if not logger.events or self.LOG_ACTOR_DESTROY in logger.events:
                if not logger.actors or actor_id in logger.actors:
                    data = {}
                    data['timestamp'] = time.time()
                    data['node_id'] = self.node.id
                    data['type'] = 'actor_destroy'
                    data['actor_id'] = actor_id
                    if logger.connection is not None:
                        if not logger.connection.connection_lost:
                            logger.connection.send("data: %s\n\n" % json.dumps(data))
                        else:
                            disconnected.append(user_id)
                    elif self.tunnel_client is not None and logger.handle is not None:
                        msg = {"cmd": "logevent", "msgid": logger.handle, "header": None, "data": "data: %s\n\n" % json.dumps(data)}
                        self.tunnel_client.send(msg)
        for user_id in disconnected:
            del self.loggers[user_id]
Specifies custom fields
dataset/ETHPy150Open EricssonResearch/calvin-base/calvin/runtime/north/calvincontrol.py/CalvinControl.log_actor_destroy--crossover with--dataset/ETHPy150Open openstack/rack/rack/openstack/common/db/sqlalchemy/models.py/ModelBase._extra_keys