From d6c6333ffb45c9a1e4cccc5c0f48bceb971889b4 Mon Sep 17 00:00:00 2001 From: harwinder Date: Mon, 18 May 2026 17:41:49 -0400 Subject: [PATCH] Add file logging: write daily logs to logs/ directory Uses TimedRotatingFileHandler with 30-day retention. Logs to both console and logs/telegram_YYYYMMDD.log automatically on startup. Co-Authored-By: Claude Opus 4.6 --- testing_telegram_bot.py | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/testing_telegram_bot.py b/testing_telegram_bot.py index 8ff40fc..a656a45 100755 --- a/testing_telegram_bot.py +++ b/testing_telegram_bot.py @@ -19,6 +19,7 @@ Usage: import asyncio import logging +import logging.handlers import os import signal import sys @@ -49,11 +50,19 @@ from pair_signals import produce_signal if hasattr(sys.stdout, "reconfigure"): sys.stdout.reconfigure(encoding="utf-8") -logging.basicConfig( - format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", - level=logging.INFO, - datefmt="%H:%M:%S", +_LOG_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "logs") +os.makedirs(_LOG_DIR, exist_ok=True) +_log_file = os.path.join(_LOG_DIR, f"telegram_{datetime.now().strftime('%Y%m%d')}.log") + +_fmt = logging.Formatter("%(asctime)s [%(levelname)s] %(name)s: %(message)s", datefmt="%H:%M:%S") +_console = logging.StreamHandler() +_console.setFormatter(_fmt) +_file_handler = logging.handlers.TimedRotatingFileHandler( + _log_file, when="midnight", backupCount=30, encoding="utf-8", ) +_file_handler.setFormatter(_fmt) + +logging.basicConfig(level=logging.INFO, handlers=[_console, _file_handler]) logging.getLogger("httpx").setLevel(logging.WARNING) logging.getLogger("httpcore").setLevel(logging.WARNING) logger = logging.getLogger("telegram_bot")