eis/TestProject/pyml/pyml_setting.py

52 lines
2.1 KiB
Python
Raw Normal View History

import argparse
import logging
from logging.handlers import RotatingFileHandler
def parse_project_args(parser):
parser.add_argument('--module_name',type=str,
default='pyml',
help='模块名称')
parser.add_argument('--ice_proxy',type=str,
default='MIA',
help='发送ice的目的地模块')
parser.add_argument('--logdir', type=str,
default='/iPlature/log/',
help='日志根目录')
parser.add_argument('--file_name',type=str,
default='pyml.log',
help='日志文件名')
parser.add_argument('--max_bytes',type=int,
default=1024*1024*10,
help='单个日志最大文件大小')
parser.add_argument('--backup_count', type=str,
default=20,
help='日志数量')
return parser.parse_args()
pyml_parser = argparse.ArgumentParser('project name:pyml')
pyml_conf = parse_project_args(pyml_parser)
def get_log(file_name):
logger = logging.getLogger()
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s|%(levelname)s| %(message)s')
filehandler = logging.handlers.RotatingFileHandler(pyml_conf.logdir+file_name+".log", mode='a', maxBytes=pyml_conf.max_bytes, backupCount=pyml_conf.backup_count)#每 1024Bytes重写一个文件,保留2(backupCount) 个旧文件
filehandler.setFormatter(formatter)
logger.addHandler(filehandler)
return logger
class LOG(object):
def __init__(self) -> None:
self.log_map_={}
self.log_map_[pyml_conf.module_name]=get_log(pyml_conf.module_name)
def get_log(self,file_name):
if(file_name in self.log_map_):
return self.log_map_[file_name]
else:
try:
self.log_map_[file_name]=get_log(file_name)
return self.log_map_[file_name]
except:
return self.log_map_[pyml_conf.module_name]
LOGMake=LOG()