Files
capstone_msagi/utilities/logger.py
T

28 lines
1.2 KiB
Python

import logging
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)
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.INFO)
logger.addHandler(file_handler)
if printToConsole:
console_handler = logging.StreamHandler()
console_handler.setFormatter(formatter)
console_handler.setLevel(logging.INFO)
logger.addHandler(console_handler)
return logger