42 lines
1.5 KiB
Python
42 lines
1.5 KiB
Python
'''
|
||
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
|
||
|