Files
CommonCode/settings.py
2025-09-04 22:48:15 -04:00

55 lines
1.9 KiB
Python

import logging
import sys, os
from systemd.journal import JournalHandler
from colored import stylize, fore, Style, back
from functools import partial
from colored import set_tty_aware
log_format = '%(asctime)s|%(levelname)s|%(filename)s%(funcName)s%(lineno)d|%(message)s'
def get_logger(_name, file_path = None, stdout=False, systemd=False, level = logging.DEBUG):
logger = logging.getLogger()
logger.handlers.clear()
env_level = os.getenv("LOGLEVEL")
if env_level is not None:
level = env_level
if level is not None:
logger.setLevel(level)
formatter = logging.Formatter(log_format)
if file_path is not None:
file_handler = logging.FileHandler(file_path, mode='a')
file_handler.setFormatter(formatter)
file_handler.setLevel(logging.DEBUG)
logger.addHandler(file_handler)
if stdout:
stdout_handler = logging.StreamHandler(sys.stdout)
stdout_handler.setFormatter(formatter)
stdout_handler.setLevel(logging.INFO)
logger.addHandler(stdout_handler)
if systemd:
systemd_handler = JournalHandler()
systemd_handler.setFormatter(formatter)
logger.addHandler(systemd_handler)
return logger
def stylize_interface(text, fore_256=None, back_256=None, style=None):
return fore(fore_256)+back(back_256)+style+text+Style.reset
set_tty_aware(False)
class LogColorize(object):
watch_and_fix_permissions = partial(stylize_interface,fore_256='red',back_256='white', style=Style.BOLD)
score_obj_det_orin = partial(stylize_interface, fore_256='red', back_256='green', style=Style.BOLD)
remove_without_nuggets = partial(stylize_interface, fore_256='red', back_256='grey_78', style=Style.BOLD)
embeds_in_db =partial(stylize_interface, fore_256='green', back_256='black', style=Style.BOLD)
video_meta = partial(stylize_interface, fore_256='blue', back_256='black', style=Style.BOLD)