''' Created on 2018年7月30日 @author: EDZ ''' import logging async def loggerconfig(logname=None, loglevel=logging.INFO, logger=None): format_dict = { logging.DEBUG : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), logging.INFO : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), logging.WARNING : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), logging.ERROR : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s'), logging.CRITICAL : logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') } # 创建一个logger logger = logging.getLogger(logger) if logger.handlers: return logger logger.setLevel(loglevel) # 创建一个handler,用于写入日志文件 fh = logging.FileHandler(filename=logname, encoding='utf-8') fh.setLevel(loglevel) # 再创建一个handler,用于输出到控制台 ch = logging.StreamHandler() ch.setLevel(loglevel) # 定义handler的输出格式 #formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') formatter = format_dict[loglevel] fh.setFormatter(formatter) ch.setFormatter(formatter) # 给logger添加handler logger.addHandler(fh) logger.addHandler(ch) return logger