def setUp(self): self._subprocess_timeout = 15 if platform.python_implementation() == 'PyPy': self._subprocess_timeout = 30 self.stderr = NativeStringIO() self.stdout = NativeStringIO() self.patch(_logging, "_stderr", self.stderr) self.patch(_logging, "_stdout", self.stdout) self.patch(_logging, "_loggers", WeakKeyDictionary()) self.patch(_logging, "_loglevel", "info")
def test_format_failure(self): """ A traceback will print. """ stream = NativeStringIO() observer = make_stderr_observer(_file=stream, format="syslogd") try: raise ValueError("noooo {0}".format("!!")) except: err = Failure() event = { 'log_level': LogLevel.error, 'log_namespace': 'crossbar.test.test_logger.StdoutObserverTests', 'log_format': None, 'log_source': None, 'log_failure': err, 'log_system': 'foo', 'log_time': 1434099813.77449 } observer(event) result = stream.getvalue() self.assertIn("noooo {0}", result)
def installPortalTransforms(portal): out = NativeStringIO() updateTransform(out, portal, 'safe_html') updateTransform(out, portal, 'markdown_to_html') correctMapping(out, portal)
def test_basic(self): stream = NativeStringIO() observer = _logging.make_stdout_observer(_file=stream) log = make_logger(observer=observer) log.info("Hi!", log_system="foo") result = stream.getvalue() self.assertIn(u"[foo]", result)
def setUp(self): self._subprocess_timeout = 15 if platform.python_implementation() == 'PyPy': self._subprocess_timeout = 30 self.stderr = NativeStringIO() self.stdout = NativeStringIO() self.publisher = LogPublisher() self.beginner = LogBeginner(LogPublisher(), self.stderr, sys, warnings) self.patch(_logging, "_stderr", self.stderr) self.patch(_logging, "_stdout", self.stdout) self.patch(_logging, "log_publisher", self.publisher) self.patch(_logging, "globalLogBeginner", self.beginner) self.patch(_logging, "_loggers", WeakKeyDictionary()) self.patch(_logging, "_loglevel", "info")
def get_doctype(data): """ return the public id for the doctype given some raw xml data """ if not hasattr(data, 'readlines'): data = NativeStringIO(data) for line in data.readlines(): line = line.strip() if not line: continue if line.startswith('<?xml') or line.startswith('<!-- '): continue m = DT_RGX.match(line) if m is not None: return m.group(1) else: raise DTException('Unable to match doctype in "%s"' % line)
def test_output_syslogd(self): """ The syslogd output format is the system in square brackets, and the message. """ stream = NativeStringIO() observer = make_stderr_observer(_file=stream, format="syslogd") event = {'log_level': LogLevel.error, 'log_namespace': 'crossbar.test.test_logger.StdoutObserverTests', 'log_source': None, 'log_format': 'Hi there!', 'log_system': 'foo', 'log_time': 1434099813.77449} observer(event) result = stream.getvalue() self.assertEqual(result[:-1], "[foo] Hi there!")
def test_format_log_category(self): """ A log category in the event will mean the format is replaced with the format string referencing it. """ stream = NativeStringIO() observer = make_stderr_observer(_file=stream, format="syslogd") event = {'log_level': LogLevel.error, 'log_namespace': 'crossbar.test.test_logger.StdoutObserverTests', 'log_category': "DBG100", 'x': 'x~', 'y': 'z', 'z': 'a', 'log_source': None, 'log_system': 'foo', 'log_time': 1434099813.77449} observer(event) result = stream.getvalue() self.assertEqual(result[:-1], "[foo] DEBUG x~ z a")