From d91a82d8d5ea8db8f3e5977d92e140337e1a422d Mon Sep 17 00:00:00 2001 From: Cyber MacGeddon Date: Wed, 30 Jul 2025 23:04:12 +0100 Subject: [PATCH] Logging strategy updates --- trustgraph-base/trustgraph/api/config.py | 6 +++++- trustgraph-base/trustgraph/api/library.py | 11 +++++++---- trustgraph-base/trustgraph/base/producer.py | 12 ++++++++---- trustgraph-base/trustgraph/base/publisher.py | 6 +++++- .../trustgraph/base/request_response_spec.py | 12 ++++++++---- 5 files changed, 33 insertions(+), 14 deletions(-) diff --git a/trustgraph-base/trustgraph/api/config.py b/trustgraph-base/trustgraph/api/config.py index 5442fc2d..cd50ca6c 100644 --- a/trustgraph-base/trustgraph/api/config.py +++ b/trustgraph-base/trustgraph/api/config.py @@ -1,7 +1,11 @@ +import logging + from . exceptions import * from . types import ConfigValue +logger = logging.getLogger(__name__) + class Config: def __init__(self, api): @@ -33,7 +37,7 @@ class Config: for v in object["values"] ] except Exception as e: - print(e) + logger.error("Failed to parse config get response", exc_info=True) raise ProtocolException("Response not formatted correctly") def put(self, values): diff --git a/trustgraph-base/trustgraph/api/library.py b/trustgraph-base/trustgraph/api/library.py index fad13f8d..a08a9546 100644 --- a/trustgraph-base/trustgraph/api/library.py +++ b/trustgraph-base/trustgraph/api/library.py @@ -2,11 +2,14 @@ import datetime import time import base64 +import logging from . types import DocumentMetadata, ProcessingMetadata, Triple from .. knowledge import hash, Uri, Literal from . exceptions import * +logger = logging.getLogger(__name__) + def to_value(x): if x["e"]: return Uri(x["v"]) return Literal(x["v"]) @@ -112,7 +115,7 @@ class Library: for v in object["document-metadatas"] ] except Exception as e: - print(e) + logger.error("Failed to parse document list response", exc_info=True) raise ProtocolException(f"Response not formatted correctly") def get_document(self, user, id): @@ -145,7 +148,7 @@ class Library: tags = doc["tags"] ) except Exception as e: - print(e) + logger.error("Failed to parse document response", exc_info=True) raise ProtocolException(f"Response not formatted correctly") def update_document(self, user, id, metadata): @@ -192,7 +195,7 @@ class Library: tags = doc["tags"] ) except Exception as e: - print(e) + logger.error("Failed to parse document update response", exc_info=True) raise ProtocolException(f"Response not formatted correctly") def remove_document(self, user, id): @@ -266,6 +269,6 @@ class Library: for v in object["processing-metadatas"] ] except Exception as e: - print(e) + logger.error("Failed to parse processing list response", exc_info=True) raise ProtocolException(f"Response not formatted correctly") diff --git a/trustgraph-base/trustgraph/base/producer.py b/trustgraph-base/trustgraph/base/producer.py index 550855b8..0d65d1de 100644 --- a/trustgraph-base/trustgraph/base/producer.py +++ b/trustgraph-base/trustgraph/base/producer.py @@ -1,6 +1,10 @@ from pulsar.schema import JsonSchema import asyncio +import logging + +# Module logger +logger = logging.getLogger(__name__) class Producer: @@ -39,15 +43,15 @@ class Producer: while self.running and self.producer is None: try: - print("Connect publisher to", self.topic, "...", flush=True) + logger.info(f"Connecting publisher to {self.topic}...") self.producer = self.client.create_producer( topic = self.topic, schema = JsonSchema(self.schema), chunking_enabled = self.chunking_enabled, ) - print("Connected to", self.topic, flush=True) + logger.info(f"Connected publisher to {self.topic}") except Exception as e: - print("Exception:", e, flush=True) + logger.error(f"Exception connecting publisher: {e}", exc_info=True) await asyncio.sleep(2) if not self.running: break @@ -68,7 +72,7 @@ class Producer: break except Exception as e: - print("Exception:", e, flush=True) + logger.error(f"Exception sending message: {e}", exc_info=True) self.producer.close() self.producer = None diff --git a/trustgraph-base/trustgraph/base/publisher.py b/trustgraph-base/trustgraph/base/publisher.py index ef963e84..bad7791f 100644 --- a/trustgraph-base/trustgraph/base/publisher.py +++ b/trustgraph-base/trustgraph/base/publisher.py @@ -4,6 +4,10 @@ from pulsar.schema import JsonSchema import asyncio import time import pulsar +import logging + +# Module logger +logger = logging.getLogger(__name__) class Publisher: @@ -62,7 +66,7 @@ class Publisher: producer.send(item) except Exception as e: - print("Exception:", e, flush=True) + logger.error(f"Exception in publisher: {e}", exc_info=True) if not self.running: return diff --git a/trustgraph-base/trustgraph/base/request_response_spec.py b/trustgraph-base/trustgraph/base/request_response_spec.py index e4763a13..e07006e3 100644 --- a/trustgraph-base/trustgraph/base/request_response_spec.py +++ b/trustgraph-base/trustgraph/base/request_response_spec.py @@ -1,12 +1,16 @@ import uuid import asyncio +import logging from . subscriber import Subscriber from . producer import Producer from . spec import Spec from . metrics import ConsumerMetrics, ProducerMetrics, SubscriberMetrics +# Module logger +logger = logging.getLogger(__name__) + class RequestResponse(Subscriber): def __init__( @@ -45,7 +49,7 @@ class RequestResponse(Subscriber): id = str(uuid.uuid4()) - print("Request", id, "...", flush=True) + logger.debug(f"Sending request {id}...") q = await self.subscribe(id) @@ -58,7 +62,7 @@ class RequestResponse(Subscriber): except Exception as e: - print("Exception:", e) + logger.error(f"Exception sending request: {e}", exc_info=True) raise e @@ -71,7 +75,7 @@ class RequestResponse(Subscriber): timeout=timeout ) - print("Got response.", flush=True) + logger.debug("Received response") if recipient is None: @@ -93,7 +97,7 @@ class RequestResponse(Subscriber): except Exception as e: - print("Exception:", e) + logger.error(f"Exception processing response: {e}", exc_info=True) raise e finally: