From 905c3cc0f0053c81538187741d5e2219c4ad2f85 Mon Sep 17 00:00:00 2001 From: Alex Myers Date: Tue, 6 Aug 2024 12:13:29 -0500 Subject: [PATCH] reckless: escape strings in log --- tools/reckless | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/tools/reckless b/tools/reckless index 7530d83be408..e7c7951f6b88 100755 --- a/tools/reckless +++ b/tools/reckless @@ -39,12 +39,16 @@ class Logger: "log": []} self.capture = capture + def str_esc(self, raw_string: str) -> str: + assert isinstance(raw_string, str) + return json.dumps(raw_string)[1:-1] + def debug(self, to_log: str): assert isinstance(to_log, str) or hasattr(to_log, "__repr__") if logging.root.level > logging.DEBUG: return if self.capture: - self.json_output['log'].append(f"DEBUG: {to_log}") + self.json_output['log'].append(self.str_esc(f"DEBUG: {to_log}")) else: logging.debug(to_log) @@ -53,7 +57,7 @@ class Logger: if logging.root.level > logging.INFO: return if self.capture: - self.json_output['log'].append(f"INFO: {to_log}") + self.json_output['log'].append(self.str_esc(f"INFO: {to_log}")) else: print(to_log) @@ -62,7 +66,7 @@ class Logger: if logging.root.level > logging.WARNING: return if self.capture: - self.json_output['log'].append(f"WARNING: {to_log}") + self.json_output['log'].append(self.str_esc(f"WARNING: {to_log}")) else: logging.warning(to_log) @@ -71,7 +75,7 @@ class Logger: if logging.root.level > logging.ERROR: return if self.capture: - self.json_output['log'].append(f"ERROR: {to_log}") + self.json_output['log'].append(self.str_esc(f"ERROR: {to_log}")) else: logging.error(to_log)