def setup_logging(log_f): global logger logger = structuredlog.StructuredLogger("firefox-os-cert-suite") logger.add_handler( handlers.StreamHandler(sys.stderr, formatters.MachFormatter())) logger.add_handler( handlers.StreamHandler(log_f, formatters.JSONFormatter()))
def setup_logging(log_f): global logger logger = structuredlog.StructuredLogger("firefox-os-cert-suite") logger.add_handler(stdio_handler) logger.add_handler( handlers.StreamHandler(log_f, formatters.JSONFormatter())) set_default_logger(logger)
def setUp(self): self.position = 0 self.logger = structuredlog.StructuredLogger("test_%s" % type(self).__name__) self.output_file = StringIO.StringIO() self.handler = handlers.StreamHandler( self.output_file, self.get_formatter()) self.logger.add_handler(self.handler)
def test_utf8str_write(self): with mozfile.NamedTemporaryFile() as logfile: _fmt = formatters.TbplFormatter() _handler = handlers.StreamHandler(logfile, _fmt) self.logger.add_handler(_handler) self.logger.suite_start([]) self.logger.info("☺") logfile.seek(0) data = logfile.readlines()[-1].strip() self.assertEquals(data, "☺") self.logger.suite_end()
def test_utf8str_write(self): with mozfile.NamedTemporaryFile() as logfile: _fmt = formatters.TbplFormatter() _handler = handlers.StreamHandler(logfile, _fmt) self.logger.add_handler(_handler) self.logger.suite_start([]) self.logger.info("☺") with open(logfile.name) as f: data = f.readlines() self.assertEquals(data[-1], "☺\n") self.logger.suite_end()
def run_test(self, suite, groups, temp_dir): logger.info('Running suite %s' % suite) def on_output(line): written = False if line.startswith("{"): try: data = json.loads(line.strip()) if "action" in data: sub_logger.log_raw(data) written = True except ValueError: pass if not written: logger.process_output(proc.pid, line.decode("utf8", "replace"), command=" ".join(cmd)) try: cmd, output_files, structured_path = self.build_command( suite, groups, temp_dir) logger.debug(cmd) logger.debug(output_files) env = dict(os.environ) env['PYTHONUNBUFFERED'] = '1' proc = mozprocess.ProcessHandler(cmd, env=env, processOutputLine=on_output) logger.debug("Process '%s' is running" % " ".join(cmd)) #TODO: move timeout handling to here instead of each test? with open(structured_path, "w") as structured_log: sub_logger = structuredlog.StructuredLogger(suite) sub_logger.add_handler(stdio_handler) sub_logger.add_handler( handlers.StreamHandler(structured_log, formatters.JSONFormatter())) proc.run() proc.wait() logger.debug("Process finished") except Exception: logger.error("Error running suite %s:\n%s" % (suite, traceback.format_exc())) raise finally: try: proc.kill() except: pass return output_files, structured_path
def create_log(self, *args, **kwargs): logger = structuredlog.StructuredLogger("expected_test") data = StringIO.StringIO() handler = handlers.StreamHandler(data, formatters.JSONFormatter()) logger.add_handler(handler) log_entries = ([("suite_start", { "tests": [], "run_info": kwargs.get("run_info", {}) })] + list(args) + [("suite_end", {})]) for item in log_entries: action, kwargs = item getattr(logger, action)(**kwargs) logger.remove_handler(handler) data.seek(0) return data
from mcts.utils.reportmanager import ReportManager from mcts.utils.logger.logmanager import LogManager import mcts.utils.report from mcts.utils.report.results import KEY_MAIN import mcts.utils.handlers.adb_b2g as adb_b2g import mcts.utils.handlers.gaiautils as gaiautils DeviceBackup = adb_b2g.DeviceBackup _adbflag = False _host = 'localhost' _port = 2828 logger = None remove_marionette_after_run = False stdio_handler = handlers.StreamHandler(sys.stderr, formatters.MachFormatter()) config_path = os.path.abspath( os.path.join(os.path.dirname(__file__), "config.json")) retry_path = 'retry.json' def setup_logging(log_f): global logger logger = structuredlog.StructuredLogger("firefox-os-cert-suite") logger.add_handler(stdio_handler) logger.add_handler( handlers.StreamHandler(log_f, formatters.JSONFormatter())) set_default_logger(logger)
def setUp(self): self.logger = structuredlog.StructuredLogger("test") self.output_file = StringIO.StringIO() self.handler = handlers.StreamHandler( self.output_file, formatters.MachFormatter(disable_colors=True)) self.logger.add_handler(self.handler)
def create_logger(): logger = structuredlog.StructuredLogger("unknown") logger.add_handler( handlers.StreamHandler(sys.stdout, formatters.JSONFormatter())) return logger