2022-07-14 15:17:06 +02:00
|
|
|
import logging
|
|
|
|
|
|
|
|
|
2022-07-15 14:04:22 +02:00
|
|
|
# prepare custom levels and default config of logger
|
|
|
|
def prepare_logger():
|
|
|
|
logging.basicConfig(
|
2022-08-14 16:34:15 +02:00
|
|
|
format="%(asctime)s | [%(levelname)s] [%(name)s]: %(message)s",
|
2022-07-15 14:04:22 +02:00
|
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
|
|
level=20,
|
|
|
|
handlers=[logging.StreamHandler()],
|
|
|
|
)
|
|
|
|
logging.addLevelName(level=15, levelName="VERBOSE")
|
|
|
|
logging.addLevelName(level=25, levelName="LEAN")
|
|
|
|
|
|
|
|
|
2022-07-14 15:17:06 +02:00
|
|
|
# set log message format
|
|
|
|
def format_logger(verbosity: int):
|
|
|
|
logging.getLogger().setLevel(verbosity)
|
|
|
|
|
|
|
|
# dont show log level name on default/lean logging
|
|
|
|
if verbosity >= 20:
|
|
|
|
logging.basicConfig(
|
|
|
|
format="%(asctime)s | %(message)s",
|
|
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
|
|
force=True,
|
|
|
|
)
|
|
|
|
else:
|
|
|
|
logging.basicConfig(
|
2022-08-14 16:34:15 +02:00
|
|
|
format="%(asctime)s | [%(levelname)s] [%(name)s]: %(message)s",
|
2022-07-14 15:17:06 +02:00
|
|
|
datefmt="%Y-%m-%d %H:%M:%S",
|
|
|
|
force=True,
|
|
|
|
)
|
2022-07-15 14:04:22 +02:00
|
|
|
|
|
|
|
|
|
|
|
class Logger:
|
2022-07-22 21:11:01 +02:00
|
|
|
"""Default logger for manga-dlp.
|
|
|
|
|
|
|
|
Args:
|
|
|
|
name (str): Name of the logger
|
|
|
|
|
|
|
|
"""
|
|
|
|
|
2022-07-15 14:04:22 +02:00
|
|
|
def __init__(self, name: str):
|
|
|
|
self.name = name
|
|
|
|
# create logger
|
|
|
|
self.log = logging.getLogger(self.name)
|
|
|
|
|
|
|
|
# custom log levels
|
|
|
|
def verbose(self, message: str):
|
|
|
|
self.log.log(level=15, msg=message)
|
|
|
|
|
|
|
|
def lean(self, message: str):
|
|
|
|
self.log.log(level=25, msg=message)
|
|
|
|
|
|
|
|
# default log levels
|
|
|
|
def critical(self, message: str):
|
|
|
|
self.log.critical(msg=message)
|
|
|
|
|
|
|
|
def error(self, message: str):
|
|
|
|
self.log.error(msg=message)
|
|
|
|
|
|
|
|
def warning(self, message: str):
|
|
|
|
self.log.warning(msg=message)
|
|
|
|
|
|
|
|
def info(self, message: str):
|
|
|
|
self.log.info(msg=message)
|
|
|
|
|
|
|
|
def debug(self, message: str):
|
|
|
|
self.log.debug(msg=message)
|