Skip to content

Commit 6cec5fe

Browse files
committed
Update logging config
1 parent 279b93c commit 6cec5fe

File tree

4 files changed

+30
-15
lines changed

4 files changed

+30
-15
lines changed

scripts/ingest_webpages_list.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import logging
2+
3+
logging.getLogger("sqlalchemy.engine.Engine").disabled = True
4+
15
from ingestion.tasks.ingest_webpages_list_task import ingest_webpages_list
26

37
if __name__ == "__main__":

src/config/celery.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,7 @@
1+
import logging
2+
3+
logging.getLogger("sqlalchemy.engine.Engine").disabled = True
4+
15
from celery import Celery
26

37
celery = Celery(

src/config/logger.py

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22
import json
33
from typing import Optional, Dict, Any
44

5-
# ANSI escape codes
5+
# ANSI escape codes for colors
66
LOG_COLORS = {
7-
"DEBUG": "\033[94m", # Blue
8-
"INFO": "\033[92m", # Green
9-
"WARNING": "\033[93m", # Yellow
10-
"ERROR": "\033[91m", # Red
11-
"RESET": "\033[0m", # Reset to default
7+
"DEBUG": "\033[94m",
8+
"INFO": "\033[92m",
9+
"WARNING": "\033[93m",
10+
"ERROR": "\033[91m",
11+
"RESET": "\033[0m",
1212
}
1313

1414

@@ -23,14 +23,16 @@ def format(self, record: logging.LogRecord) -> str:
2323
class SemanticLogger:
2424
def __init__(self, name: Optional[str] = None):
2525
self.logger = logging.getLogger(name or __name__)
26-
handler = logging.StreamHandler()
26+
self.logger.propagate = False # 🔒 Prevent double logging
2727

28-
formatter = ColorFormatter("%(asctime)s [%(levelname)s] %(message)s")
29-
handler.setFormatter(formatter)
28+
# Only add handler if none exist
29+
if not self.logger.handlers:
30+
handler = logging.StreamHandler()
31+
formatter = ColorFormatter("%(asctime)s [%(levelname)s] %(message)s")
32+
handler.setFormatter(formatter)
33+
self.logger.addHandler(handler)
3034

3135
self.logger.setLevel(logging.INFO)
32-
if not self.logger.hasHandlers():
33-
self.logger.addHandler(handler)
3436

3537
def info(self, event: str, **data: Any):
3638
self.logger.info(self._format(event, data))
@@ -49,5 +51,4 @@ def _format(self, event: str, data: Dict[str, Any]) -> str:
4951
return json.dumps(structured)
5052

5153

52-
# Usage
53-
logger = SemanticLogger()
54+
logger = SemanticLogger(__name__)

src/ingestion/services/webpage_ingestion_service.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
from infrastructure.web import fetch_webpage
44
from infrastructure.db.source_repository import SourceRepository
55
from ingestion.services.webpage_parser_service import WebpageParserService
6+
from config import logger
67

78
# NOTE: Solves the follow error:
89
# Cannot copy out of meta tensor; no data! Please use torch.nn.Module.to_empty() instead of torch.nn.Module.to() when moving module from meta to a different device.
@@ -16,10 +17,15 @@ def __init__(self, url: str, repository: SourceRepository):
1617

1718
def process(self):
1819
try:
19-
print(f"🌐 Fetching content from: {self.url}")
20+
logger.info("webpage_ingestion_service.process", url=self.url)
2021
self.__ingest_webpage()
2122
except Exception as e:
22-
print(f"⚠️ Failed to fetch {self.url}: {e}")
23+
logger.error(
24+
"webpage_ingestion_service.error",
25+
url=self.url,
26+
error=str(e),
27+
)
28+
raise e
2329

2430
def __ingest_webpage(self):
2531
webpage = fetch_webpage(self.url)

0 commit comments

Comments
 (0)