diff --git a/main.py b/main.py index f63dd68..c5de9b5 100644 --- a/main.py +++ b/main.py @@ -14,6 +14,7 @@ from typing import List, Dict, Optional, Union, Any import nest_asyncio from dotenv import load_dotenv from mcp.server.fastmcp import FastMCP +from pythonjsonlogger import jsonlogger from telethon import TelegramClient, functions, utils from telethon.sessions import StringSession from telethon.tl.types import ( @@ -86,12 +87,17 @@ try: file_handler = logging.FileHandler(log_file_path, mode="a") # Append mode file_handler.setLevel(logging.ERROR) - # Create formatter and add to handlers - formatter = logging.Formatter( - "%(asctime)s [%(levelname)s] %(name)s - %(message)s - %(filename)s:%(lineno)d" + # Create formatters + # Console formatter remains in the old format + console_formatter = logging.Formatter("%(asctime)s [%(levelname)s] %(name)s - %(message)s") + console_handler.setFormatter(console_formatter) + + # File formatter is now JSON + json_formatter = jsonlogger.JsonFormatter( + "%(asctime)s %(name)s %(levelname)s %(message)s", + datefmt="%Y-%m-%dT%H:%M:%S%z", ) - console_handler.setFormatter(formatter) - file_handler.setFormatter(formatter) + file_handler.setFormatter(json_formatter) # Add handlers to logger logger.addHandler(console_handler) diff --git a/pyproject.toml b/pyproject.toml index 3691912..c0cee02 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -29,6 +29,7 @@ dependencies = [ "mcp[cli]>=1.4.1", "nest-asyncio>=1.6.0", "python-dotenv>=1.1.0", + "python-json-logger>=3.3.0", "telethon>=1.39.0" ] diff --git a/requirements.txt b/requirements.txt index b9ab6bc..fca7260 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,4 +3,5 @@ httpx>=0.28.1 mcp[cli]>=1.4.1 nest-asyncio>=1.6.0 python-dotenv>=1.1.0 +python-json-logger>=3.3.0 telethon>=1.39.0 \ No newline at end of file