Source code for crossbar.worker.sample._logging

#####################################################################################
#
#  Copyright (c) typedef int GmbH
#  SPDX-License-Identifier: EUPL-1.2
#
#####################################################################################

from autobahn.twisted.util import sleep
from autobahn.twisted.wamp import ApplicationSession
from twisted.internet.defer import inlineCallbacks


[docs] class LogTester(ApplicationSession): """ Sample WAMP component to test logging at run-time. """ @inlineCallbacks
[docs] def onJoin(self, details): LOG_PREFIX = "*** SAMPLE *** [{}]".format(details.session) config = self.config.extra or {"iterations": 300, "delay": 0.2} self.log.info('{prefix} joined realm "{realm}"', prefix=LOG_PREFIX, realm=details.realm) self.log.info("{prefix} config={config}", prefix=LOG_PREFIX, config=self.config.extra) self._tick = 1 for i in range(config["iterations"]): self.log.info("{prefix} TICK:", prefix=LOG_PREFIX) for fn, lvl in [ (self.log.trace, "TRACE"), (self.log.debug, "DEBUG"), (self.log.info, "INFO "), (self.log.warn, "WARN "), (self.log.error, "ERROR"), ]: fn("{prefix} {lvl} - TICK {tick}", prefix=LOG_PREFIX, lvl=lvl, tick=self._tick) self._tick += 1 yield sleep(config["delay"]) self.log.info("{prefix} DONE!", prefix=LOG_PREFIX) self.leave()