pbf.utils.Logging
1import logging 2import os 3import re 4from logging.handlers import TimedRotatingFileHandler 5 6try: 7 from ..config import logs_level, logs_format, logs_directory 8 from ..utils import Path 9except ImportError: 10 from pbf.config import logs_level, logs_format, logs_directory 11 from pbf.utils import Path 12 13 14class Logger: 15 def __init__(self, name: str) -> None: 16 """ 17 Initialize the Logger. 18 :param name: str Logger name 19 """ 20 self.file_handler = None 21 self.name = name 22 self.logger = logging.getLogger(name) 23 self.logger.setLevel(logs_level) 24 self.formatter = logging.Formatter(logs_format) 25 26 self.console_handler = logging.StreamHandler() 27 self.console_handler.setLevel(logs_level) 28 self.console_handler.setFormatter(self.formatter) 29 30 self.set_file(logs_directory) 31 32 self.logger.addHandler(self.console_handler) 33 34 def get_logger(self) -> logging.Logger: 35 """ 36 Get the logger. 37 :return: logging.Logger 38 """ 39 return self.logger 40 41 def set_level(self, level: str) -> None: 42 """ 43 Set the logger level. 44 :param level: str level 45 :return: None 46 """ 47 self.logger.setLevel(level) 48 self.console_handler.setLevel(level) 49 self.file_handler.setLevel(level) 50 51 def set_format(self, format: str) -> None: 52 """ 53 Set the logger format. 54 :param format: str format 55 :return: None 56 """ 57 self.formatter = logging.Formatter(format) 58 self.console_handler.setFormatter(self.formatter) 59 self.file_handler.setFormatter(self.formatter) 60 61 def set_file(self, file: str) -> None: 62 """ 63 Set the logger file. 64 :param file: str file path 65 :return: None 66 """ 67 self.file_handler = TimedRotatingFileHandler( 68 filename=os.path.join(Path.replace(file), "log"), when="MIDNIGHT", interval=1, backupCount=20 69 ) 70 self.file_handler.suffix = "%Y-%m-%d.log" 71 self.file_handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}.log$") 72 self.file_handler.setFormatter(self.formatter) 73 self.logger.addHandler(self.file_handler) 74 75 def info(self, message: str, *args, **kwargs) -> None: 76 """ 77 Log the info message. 78 :param message: str message 79 :param args: *list 80 :param kwargs: **dict 81 :return: None 82 """ 83 self.logger.info(message, *args, **kwargs) 84 85 def debug(self, message: str, *args, **kwargs) -> None: 86 """ 87 Log the debug message. 88 :param message: str message 89 :param args: *list 90 :param kwargs: **dict 91 :return: None 92 """ 93 self.logger.debug(message, *args, **kwargs) 94 95 def warning(self, message: str, *args, **kwargs) -> None: 96 """ 97 Log the warning message. 98 :param message: str message 99 :param args: *list 100 :param kwargs: **dict 101 :return: None 102 """ 103 self.logger.warning(message, *args, **kwargs) 104 105 def error(self, message: str, *args, **kwargs) -> None: 106 """ 107 Log the error message. 108 :param message: str message 109 :param args: *list 110 :param kwargs: **dict 111 :return: None 112 """ 113 self.logger.error(message, *args, **kwargs) 114 115 def critical(self, message: str, *args, **kwargs) -> None: 116 """ 117 Log the critical message. 118 :param message: str message 119 :param args: *list 120 :param kwargs: **dict 121 :return: None 122 """ 123 self.logger.critical(message, *args, **kwargs) 124 125 126if __name__ == "__main__": 127 logger = Logger("test") 128 logger.info("info") 129 logger.debug("debug") 130 logger.warning("warning") 131 logger.error("error")
class
Logger:
15class Logger: 16 def __init__(self, name: str) -> None: 17 """ 18 Initialize the Logger. 19 :param name: str Logger name 20 """ 21 self.file_handler = None 22 self.name = name 23 self.logger = logging.getLogger(name) 24 self.logger.setLevel(logs_level) 25 self.formatter = logging.Formatter(logs_format) 26 27 self.console_handler = logging.StreamHandler() 28 self.console_handler.setLevel(logs_level) 29 self.console_handler.setFormatter(self.formatter) 30 31 self.set_file(logs_directory) 32 33 self.logger.addHandler(self.console_handler) 34 35 def get_logger(self) -> logging.Logger: 36 """ 37 Get the logger. 38 :return: logging.Logger 39 """ 40 return self.logger 41 42 def set_level(self, level: str) -> None: 43 """ 44 Set the logger level. 45 :param level: str level 46 :return: None 47 """ 48 self.logger.setLevel(level) 49 self.console_handler.setLevel(level) 50 self.file_handler.setLevel(level) 51 52 def set_format(self, format: str) -> None: 53 """ 54 Set the logger format. 55 :param format: str format 56 :return: None 57 """ 58 self.formatter = logging.Formatter(format) 59 self.console_handler.setFormatter(self.formatter) 60 self.file_handler.setFormatter(self.formatter) 61 62 def set_file(self, file: str) -> None: 63 """ 64 Set the logger file. 65 :param file: str file path 66 :return: None 67 """ 68 self.file_handler = TimedRotatingFileHandler( 69 filename=os.path.join(Path.replace(file), "log"), when="MIDNIGHT", interval=1, backupCount=20 70 ) 71 self.file_handler.suffix = "%Y-%m-%d.log" 72 self.file_handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}.log$") 73 self.file_handler.setFormatter(self.formatter) 74 self.logger.addHandler(self.file_handler) 75 76 def info(self, message: str, *args, **kwargs) -> None: 77 """ 78 Log the info message. 79 :param message: str message 80 :param args: *list 81 :param kwargs: **dict 82 :return: None 83 """ 84 self.logger.info(message, *args, **kwargs) 85 86 def debug(self, message: str, *args, **kwargs) -> None: 87 """ 88 Log the debug message. 89 :param message: str message 90 :param args: *list 91 :param kwargs: **dict 92 :return: None 93 """ 94 self.logger.debug(message, *args, **kwargs) 95 96 def warning(self, message: str, *args, **kwargs) -> None: 97 """ 98 Log the warning message. 99 :param message: str message 100 :param args: *list 101 :param kwargs: **dict 102 :return: None 103 """ 104 self.logger.warning(message, *args, **kwargs) 105 106 def error(self, message: str, *args, **kwargs) -> None: 107 """ 108 Log the error message. 109 :param message: str message 110 :param args: *list 111 :param kwargs: **dict 112 :return: None 113 """ 114 self.logger.error(message, *args, **kwargs) 115 116 def critical(self, message: str, *args, **kwargs) -> None: 117 """ 118 Log the critical message. 119 :param message: str message 120 :param args: *list 121 :param kwargs: **dict 122 :return: None 123 """ 124 self.logger.critical(message, *args, **kwargs)
Logger(name: str)
16 def __init__(self, name: str) -> None: 17 """ 18 Initialize the Logger. 19 :param name: str Logger name 20 """ 21 self.file_handler = None 22 self.name = name 23 self.logger = logging.getLogger(name) 24 self.logger.setLevel(logs_level) 25 self.formatter = logging.Formatter(logs_format) 26 27 self.console_handler = logging.StreamHandler() 28 self.console_handler.setLevel(logs_level) 29 self.console_handler.setFormatter(self.formatter) 30 31 self.set_file(logs_directory) 32 33 self.logger.addHandler(self.console_handler)
Initialize the Logger.
Parameters
- name: str Logger name
def
get_logger(self) -> logging.Logger:
35 def get_logger(self) -> logging.Logger: 36 """ 37 Get the logger. 38 :return: logging.Logger 39 """ 40 return self.logger
Get the logger.
Returns
logging.Logger
def
set_level(self, level: str) -> None:
42 def set_level(self, level: str) -> None: 43 """ 44 Set the logger level. 45 :param level: str level 46 :return: None 47 """ 48 self.logger.setLevel(level) 49 self.console_handler.setLevel(level) 50 self.file_handler.setLevel(level)
Set the logger level.
Parameters
- level: str level
Returns
None
def
set_format(self, format: str) -> None:
52 def set_format(self, format: str) -> None: 53 """ 54 Set the logger format. 55 :param format: str format 56 :return: None 57 """ 58 self.formatter = logging.Formatter(format) 59 self.console_handler.setFormatter(self.formatter) 60 self.file_handler.setFormatter(self.formatter)
Set the logger format.
Parameters
- format: str format
Returns
None
def
set_file(self, file: str) -> None:
62 def set_file(self, file: str) -> None: 63 """ 64 Set the logger file. 65 :param file: str file path 66 :return: None 67 """ 68 self.file_handler = TimedRotatingFileHandler( 69 filename=os.path.join(Path.replace(file), "log"), when="MIDNIGHT", interval=1, backupCount=20 70 ) 71 self.file_handler.suffix = "%Y-%m-%d.log" 72 self.file_handler.extMatch = re.compile(r"^\d{4}-\d{2}-\d{2}.log$") 73 self.file_handler.setFormatter(self.formatter) 74 self.logger.addHandler(self.file_handler)
Set the logger file.
Parameters
- file: str file path
Returns
None
def
info(self, message: str, *args, **kwargs) -> None:
76 def info(self, message: str, *args, **kwargs) -> None: 77 """ 78 Log the info message. 79 :param message: str message 80 :param args: *list 81 :param kwargs: **dict 82 :return: None 83 """ 84 self.logger.info(message, *args, **kwargs)
Log the info message.
Parameters
- message: str message
- args: *list
- kwargs: **dict
Returns
None
def
debug(self, message: str, *args, **kwargs) -> None:
86 def debug(self, message: str, *args, **kwargs) -> None: 87 """ 88 Log the debug message. 89 :param message: str message 90 :param args: *list 91 :param kwargs: **dict 92 :return: None 93 """ 94 self.logger.debug(message, *args, **kwargs)
Log the debug message.
Parameters
- message: str message
- args: *list
- kwargs: **dict
Returns
None
def
warning(self, message: str, *args, **kwargs) -> None:
96 def warning(self, message: str, *args, **kwargs) -> None: 97 """ 98 Log the warning message. 99 :param message: str message 100 :param args: *list 101 :param kwargs: **dict 102 :return: None 103 """ 104 self.logger.warning(message, *args, **kwargs)
Log the warning message.
Parameters
- message: str message
- args: *list
- kwargs: **dict
Returns
None
def
error(self, message: str, *args, **kwargs) -> None:
106 def error(self, message: str, *args, **kwargs) -> None: 107 """ 108 Log the error message. 109 :param message: str message 110 :param args: *list 111 :param kwargs: **dict 112 :return: None 113 """ 114 self.logger.error(message, *args, **kwargs)
Log the error message.
Parameters
- message: str message
- args: *list
- kwargs: **dict
Returns
None
def
critical(self, message: str, *args, **kwargs) -> None:
116 def critical(self, message: str, *args, **kwargs) -> None: 117 """ 118 Log the critical message. 119 :param message: str message 120 :param args: *list 121 :param kwargs: **dict 122 :return: None 123 """ 124 self.logger.critical(message, *args, **kwargs)
Log the critical message.
Parameters
- message: str message
- args: *list
- kwargs: **dict
Returns
None