Initial commit

This commit is contained in:
Corentin Risselin 2020-03-06 14:05:09 +09:00
commit 846160e961
3 changed files with 95 additions and 0 deletions

58
utils/logger.py Normal file
View file

@ -0,0 +1,58 @@
from logging import handlers, StreamHandler
import logging
import os
import sys
from .colored_formatter import ColoredFormatter
class DummyLogger():
def debug(self, string, *args):
print(string, *args)
def info(self, string, *args):
print(string, *args)
def warn(self, string, *args):
print(string, *args)
def warning(self, string, *args):
print(string, *args)
def error(self, string, *args):
print(string, *args)
def critical(self, string, *args):
print(string, *args)
def fatal(self, string, *args):
print(string, *args)
def create_logger(name, log_dir, stdout=False):
logger = logging.getLogger(name)
os.makedirs(log_dir, exist_ok=True)
# Adding a (rotating) file handler to the logging system : outputing in capture.log
logger.setLevel(logging.DEBUG)
file_log_handler = handlers.RotatingFileHandler(
os.path.join(log_dir, name + '.log'),
maxBytes=500000,
backupCount=5)
file_log_handler.setLevel(logging.DEBUG)
log_formatter = logging.Formatter('%(asctime)s %(levelname)s : %(message)s')
file_log_handler.setFormatter(log_formatter)
logger.addHandler(file_log_handler)
if stdout:
# Adding an handler to the logging system (default has none) : outputing in stdout
terminal_log_handler = StreamHandler(sys.stdout)
terminal_log_handler.setLevel(logging.DEBUG)
if os.name != 'nt':
# Fancy color for non windows console
colored_log_formatter = ColoredFormatter('%(asctime)s %(levelname)s : %(message)s')
terminal_log_handler.setFormatter(colored_log_formatter)
else:
terminal_log_handler.setFormatter(log_formatter)
logger.addHandler(terminal_log_handler)
return logger