Files
capstone_msagi/utilities/logger.py
T
vincent afb10aa52e Add FastMCP tool for web scrapping.
Add logging info for tools calling
2026-07-29 16:28:15 +09:00

31 lines
1.4 KiB
Python

import logging
import sys
from xmlrpc.client import boolean
##############################################################################################################################
#Function to create a simple logger that logs messages to a file and optionally prints them to the console.
#If logger_name = "", then the root logger will be used. If you want to create a custom logger, provide a name for it.
##############################################################################################################################
def simple_logger(log_relative_path = str, printToConsole = boolean, logger_name = ""):
logger = logging.getLogger(logger_name)
logger.setLevel(logging.INFO)
formatter = logging.Formatter(fmt="%(asctime)s [%(levelname)s] %(message)s",
datefmt="%Y-%m-%d %H:%M:%S")
file_handler = logging.FileHandler(log_relative_path, encoding="utf-8")
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.INFO)
logger.addHandler(file_handler)
if printToConsole:
# 2. Force StreamHandler to use sys.stdout with utf-8 encoding
sys.stdout.reconfigure(encoding='utf-8')
console_handler = logging.StreamHandler(sys.stdout)
console_handler.setFormatter(formatter)
console_handler.setLevel(logging.INFO)
logger.addHandler(console_handler)
return logger