removed configure_logging in favor of dsqls logging

This commit is contained in:
tpv committed 2026-06-27 19:07:16 -07:00
1 parent 5e935338bc
commit ab4e2832d3
1 file changed
-51
-51
View File
@@ -1,17 +1,14 @@
import logging import logging
import json import json
import os
import pathlib import pathlib
from functools import cache from functools import cache
from enum import Enum from enum import Enum
from logging.handlers import RotatingFileHandler
from monitor_utils.src.constants import ( from monitor_utils.src.constants import (
PROXIES_PATH, PROXIES_PATH,
PROJECT_ROOT, PROJECT_ROOT,
PRODUCTION_BOT_TOKEN, PRODUCTION_BOT_TOKEN,
DEVELOPMENT_BOT_TOKEN, DEVELOPMENT_BOT_TOKEN,
LOGGING_LEVEL,
) )
RESERVED = frozenset(logging.LogRecord("", 0, "", 0, "", (), None).__dict__) RESERVED = frozenset(logging.LogRecord("", 0, "", 0, "", (), None).__dict__)
@@ -22,54 +19,6 @@ class DevelopmentMode(str, Enum):
DEVELOPMENT = "DEVELOPMENT" DEVELOPMENT = "DEVELOPMENT"
class JSONFormatter(logging.Formatter):
def format(self, record: logging.LogRecord) -> str:
payload = {
"time": self.formatTime(record),
"level": record.levelname,
"logger": record.name,
"function": record.funcName,
"message": record.getMessage(),
}
for key, value in record.__dict__.items():
if key not in RESERVED and not key.startswith("_"):
payload[key] = value
if record.exc_info:
payload["exc"] = self.formatException(record.exc_info)
return json.dumps(payload)
def configure_logging(monitor_name: str, log_dir: str = "/logs"):
os.makedirs(log_dir, exist_ok=True)
handler = logging.StreamHandler()
handler.setFormatter(JSONFormatter())
def inject_monitor(record: logging.LogRecord) -> bool:
record.monitor_name = monitor_name
return True
handler.addFilter(inject_monitor)
file_handler = RotatingFileHandler(
f"{log_dir}/{monitor_name}.jsonl",
maxBytes=10 * 1024 * 1024,
backupCount=5,
)
file_handler.setFormatter(JSONFormatter())
file_handler.addFilter(inject_monitor)
root = logging.getLogger()
root.handlers.clear()
root.setLevel(LOGGING_LEVEL)
root.addHandler(handler)
root.addHandler(file_handler)
logging.getLogger("aiohttp").setLevel(logging.WARNING)
logging.getLogger("pymongo").setLevel(logging.WARNING)
def is_production(development_mode: DevelopmentMode) -> bool: def is_production(development_mode: DevelopmentMode) -> bool:
return development_mode == DevelopmentMode.PRODUCTION return development_mode == DevelopmentMode.PRODUCTION