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 <noreply@anthropic.com>
This commit is contained in:
harwinder
2026-05-18 17:41:49 -04:00
parent 541ef7ff4a
commit d6c6333ffb
+13 -4
View File
@@ -19,6 +19,7 @@ Usage:
import asyncio import asyncio
import logging import logging
import logging.handlers
import os import os
import signal import signal
import sys import sys
@@ -49,11 +50,19 @@ from pair_signals import produce_signal
if hasattr(sys.stdout, "reconfigure"): if hasattr(sys.stdout, "reconfigure"):
sys.stdout.reconfigure(encoding="utf-8") sys.stdout.reconfigure(encoding="utf-8")
logging.basicConfig( _LOG_DIR = os.path.join(os.path.dirname(os.path.abspath(__file__)), "logs")
format="%(asctime)s [%(levelname)s] %(name)s: %(message)s", os.makedirs(_LOG_DIR, exist_ok=True)
level=logging.INFO, _log_file = os.path.join(_LOG_DIR, f"telegram_{datetime.now().strftime('%Y%m%d')}.log")
datefmt="%H:%M:%S",
_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("httpx").setLevel(logging.WARNING)
logging.getLogger("httpcore").setLevel(logging.WARNING) logging.getLogger("httpcore").setLevel(logging.WARNING)
logger = logging.getLogger("telegram_bot") logger = logging.getLogger("telegram_bot")