def set_verbose(self, verbose_print):
self.verbose_print = verbose_print
- def log_stage(self, stage):
+ def log_stage(self, stage, **kwargs):
+ def as_json(element):
+ if callable(element):
+ return inspect.getsource(element).strip()
+ elif hasattr(element, "as_json"):
+ return element.as_json()
+ else:
+ return element
+
+ args = { k: as_json(v) for k, v in kwargs.items() }
+ args_str = ["{}={}".format(k, v) for k, v in args.items()]
self.print_log("-" * (len(stage) + 8))
- self.print_log("[Stage] {}".format(stage))
+ self.print_log("[Stage] {} {}".format(stage, ", ".join(args_str)))
self.add_log({
"type": "stage",
"stage": stage,
+ "args": args,
})
def log_balances(self, tag=None):