def setup_logging(extra_handlers=(), config_file='chainsaw.log'):
logger = logging.getLogger('tripleohelper')
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter(
"%(asctime)s::%(levelname)s::%(message)s")
stream_handler = logging.StreamHandler(stream=sys.stdout)
stream_handler.setFormatter(formatter)
file_handler = logging.FileHandler(config_file, mode='w')
file_handler.setFormatter(formatter)
try:
import colorlog
colored_formatter = colorlog.ColoredFormatter(
"%(log_color)s%(asctime)s::%(levelname)s::%(message)s",
datefmt=None,
reset=True,
log_colors={
'DEBUG': 'cyan',
'INFO': 'green',
'WARNING': 'yellow',
'ERROR': 'red',
'CRITICAL': 'red'
}
)
stream_handler.setFormatter(colored_formatter)
except ImportError:
pass
logger.addHandler(stream_handler)
logger.addHandler(file_handler)
for handler in extra_handlers:
logger.addHandler(handler)
评论列表
文章目录