From 73c7b9405f22e9ef2566a40c62fbb05440cff25e Mon Sep 17 00:00:00 2001 From: Denys Fedoryshchenko Date: Wed, 9 Oct 2024 19:19:27 +0300 Subject: [PATCH] feat(send_kcidb.py): Remove log_excerpt from console logs log_excerpt is too large and fills up truncated docker and k8s logs. Better to remove it from log output. Signed-off-by: Denys Fedoryshchenko --- src/send_kcidb.py | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/src/send_kcidb.py b/src/send_kcidb.py index 7f448d8e0..9e044b4df 100755 --- a/src/send_kcidb.py +++ b/src/send_kcidb.py @@ -87,10 +87,34 @@ def _remove_none_fields(self, data): return [self._remove_none_fields(item) for item in data] return data + def remove_log_excerpts(self, data): + if isinstance(data, dict): + # Remove 'log_excerpt' if it exists in this dictionary + data.pop('log_excerpt', None) + + # Recursively process all values in the dictionary + for key, value in data.items(): + data[key] = self.remove_log_excerpts(value) + elif isinstance(data, list): + # Recursively process all items in the list + return [self.remove_log_excerpts(item) for item in data] + + return data + + def _print_debug(self, data): + ''' + Remove log_excerpt field, as it is filling up the logs + ''' + log_data = data.copy() + log_data = self.remove_log_excerpts(log_data) + self.log.debug(f"Sending revision: {log_data}") + def _send_revision(self, client, revision): revision = self._remove_none_fields(revision) if any(value for key, value in revision.items() if key != 'version'): - self.log.debug(f"DEBUG: sending revision: {revision}") + # remove log_excerpt field, as it is filling up the logs + log_data = revision.copy() + self._print_debug(log_data) if kcidb.io.SCHEMA.is_valid(revision): client.submit(revision) else: