def log_record(log_filename): """ 日志模块配置 CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET """ dir_path = os.path.split(__file__)[0] logdir = os.path.join(dir_path, 'log') try: os.makedirs(logdir, exist_ok=True) except FileExistsError: pass myapp = logging.getLogger(os.path.basename(log_filename)) #获得log实例 myapp.setLevel(logging.DEBUG) #设置log等级 # 按照每天一个日志,保留最近14个 filehandler = logging.handlers.TimedRotatingFileHandler( filename='%s/%s' % (logdir, os.path.basename(log_filename)), #filename:文件前缀、when: when='midnight', interval=1, backupCount=14) #interval: 指等待多少个单位when的时间后,Logger会自动重建文件 filehandler.suffix = '%Y%m%d.log' #backupCount: 保留最近多少天的日志 filehandler.extMatch = re.compile(r'^\d{8}.log$') # 只有填写了此变量才能删除旧日志 filehandler.setFormatter(logging.Formatter('%(asctime)s %(message)s')) # 设置格式 myapp.addHandler(filehandler) # 让日志输出到console console = logging.StreamHandler() console.setLevel(logging.INFO) console.setFormatter(logging.Formatter('%(asctime)s %(message)s')) myapp.addHandler(console) return myapp
python log配置
最新推荐文章于 2024-08-11 20:19:51 发布