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:
+13
-4
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user