import logging
class Logger:
def __init__(self, log_file, who):
self.logger = logging.getLogger(who)
self.logger.setLevel(logging.DEBUG)
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.DEBUG)
file_format = logging.Formatter(f'%(asctime)s {who} %(levelname)s: %(message)s')
file_handler.setFormatter(file_format)
self.logger.addHandler(file_handler)
def info(self, message):
self.logger.info(message)
def warning(self, message):
self.logger.warning(message)
def error(self, message):
self.logger.error(message)
import logging
import colorlog
class Logger:
def __init__(self, log_file, who):
self.logger = logging.getLogger('my_logger')
self.logger.setLevel(logging.DEBUG)
color_formatter = colorlog.ColoredFormatter(
f'%(log_color)s%(asctime)s {who} %(levelname)s: %(message)s',
log_colors={
'DEBUG': 'white',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red'
}
)
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.DEBUG)
console_handler = logging.StreamHandler()
console_handler.setLevel(logging.DEBUG)
file_format = logging.Formatter(f'%(asctime)s {who} %(levelname)s: %(message)s')
file_handler.setFormatter(file_format)
console_handler.setFormatter(color_formatter)
self.logger.addHandler(file_handler)
self.logger.addHandler(console_handler)
def info(self, message):
self.logger.info(message)
def warning(self, message):
self.logger.warning(message)
def error(self, message):
self.logger.error(message)
if __name__ == "__main__":
logger = Logger('log.log', "myname")
logger.info('This is an information message')
logger.warning('This is a warning message')
logger.error('This is an error message')