python 2.7记录日志的问题IOError: [Errno 24] Too many open files
本文介绍了python 2.7记录日志的问题IOError: [Errno 24] Too many open files的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
@app.route('/RechargeToCard', methods=['POST'])
def get_task2():
logger = logging.getLogger('mylogger'+str(time.time()))
logger.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(levelname)s \n%(message)s')
#登录的主页面
username=request.form.get('id', default='20141000000')
fh = logging.FileHandler(BASE_DIR+'/log/'+username+'_'+GetNowTime()+'_'+str(random.random())+'.log')
fh.setLevel(logging.DEBUG)
fh.setFormatter(formatter)
logger.addHandler(fh)
message='RechargeToCard '+request.remote_addr+'\n'
...
message=message+'password len is not 6'
logger.info(message )
return jsonify(result=0,reason='密码错误')
用Flask搭的web,放在服务器上
fh=logging.FileHandler(BASE_DIR+'/log/'+username+'_'+GetNowTime()+'_'+str(random.random())+'.log') 这句出了问题,不是一直出问题,就是偶尔出的问题,不是很明白,明明每个log文件的名字不一样,为什么会提示IOError: [Errno 24] Too many open files
最奇怪的是为什么不是一直出问题,而是偶尔出问题,求解答
解决方案
fh =logging.FileHandler(BASE_DIR+'/log/'+username+'_'+GetNowTime()+'_'+str(random.random())+'.log')
这个你每一次创建的handler对象有没有调用`fh.close()`来清除此hander的所拥有的资源。
这篇关于python 2.7记录日志的问题IOError: [Errno 24] Too many open files的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文