refactor: use object-oriented design and various changes

This commit is contained in:
anavoi 2025-09-03 20:18:42 +02:00
commit f9f3a1ac45
4 changed files with 290 additions and 89 deletions

31
logger.py Normal file
View file

@ -0,0 +1,31 @@
import logging
log = logging.getLogger(__name__)
log.setLevel(logging.DEBUG)
formatter = logging.Formatter(
"%(asctime)s \033[1m%(levelname)s\033[0m\033[0m %(message)s"
)
# stdout
stream_handler = logging.StreamHandler()
stream_handler.setLevel(logging.DEBUG)
stream_handler.setFormatter(formatter)
log.addHandler(stream_handler)
# Add custom log level names with colors
logging.addLevelName(
logging.DEBUG, "\033[1;30m%s\033[1;0m" % logging.getLevelName(logging.DEBUG)
) # gray
logging.addLevelName(
logging.INFO, "\033[1;34m%s\033[1;0m" % logging.getLevelName(logging.INFO)
) # blue
logging.addLevelName(
logging.WARNING, "\033[1;33m%s\033[1;0m" % logging.getLevelName(logging.WARNING)
) # yellow
logging.addLevelName(
logging.ERROR, "\033[1;31m%s\033[1;0m" % logging.getLevelName(logging.ERROR)
) # red
logging.addLevelName(
logging.CRITICAL, "\033[1;35m%s\033[1;0m" % logging.getLevelName(logging.CRITICAL)
) #