28 lines
1.2 KiB
Python
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
|
|
|