class ClusterLogWatchHandler(ClusterControllerHandler): """ 日志实时输出 """ def __init__(self, uid): ClusterControllerHandler.__init__(self, uid) self.watcher = LoggerWatcher() def do(self, receiveLogCB=None): self.queryAllInterfaces(MACHINES_ADDRESS, MACHINES_QUERY_ATTEMPT_COUNT, MACHINES_QUERY_WAIT_TIME) infos = self.getComponentInfos(LOGGER_TYPE) if not infos: print("Error: no logger found!") return logger = None for info in infos: if info.uid == self.uid: logger = info break if not logger: print("Error: no logger found! (uid = %s)" % self.uid) return print("Logger found: internal %s:%s, external %s:%s" % (logger.intaddr, logger.intport, logger.extaddr, logger.extport)) self.watcher.connect(logger.extaddr, logger.extport) self.watcher.registerToLogger(self.uid) def onReceivedLog(logs): for e in logs: print(e) if receiveLogCB is None: self.watcher.receiveLog(onReceivedLog, True) else: self.watcher.receiveLog(receiveLogCB, True)
class ClusterLogWatchHandler(ClusterControllerHandler): """ 日志实时输出 """ def __init__(self, uid): ClusterControllerHandler.__init__(self) self.watcher = LoggerWatcher() self.uid = uid def do(self): self.queryAllInterfaces() infos = self.getComponentInfos(LOGGER_TYPE) if not infos: print("Error: no logger found!") return logger = None for info in infos: if info.uid == self.uid: logger = info break if not logger: print("Error: no logger found! (uid = %s)" % self.uid) return print("Logger found: internal %s:%s, external %s:%s" % (logger.intaddr, logger.intport, logger.extaddr, logger.extport)) self.watcher.connect(logger.extaddr, logger.extport) self.watcher.registerToLogger(self.uid) def onReceivedLog(logs): for e in logs: print(e) self.watcher.receiveLog(onReceivedLog, True)
class ClusterLogWatchHandler(ClusterControllerHandler): """ 日志实时输出 """ def __init__(self, uid): ClusterControllerHandler.__init__(self) self.watcher = LoggerWatcher() self.uid = uid def do(self): self.queryAllInterfaces() infos = self.getComponentInfos( LOGGER_TYPE ) if not infos: print( "Error: no logger found!" ) return logger = None for info in infos: if info.uid == self.uid: logger = info break if not logger: print( "Error: no logger found! (uid = %s)" % self.uid ) return print( "Logger found: internal %s:%s, external %s:%s" % ( logger.intaddr, logger.intport, logger.extaddr, logger.extport ) ) self.watcher.connect( logger.extaddr, logger.extport ) self.watcher.registerToLogger( self.uid ) def onReceivedLog( logs ): for e in logs: print( e ) self.watcher.receiveLog(onReceivedLog, True)