Python Flask使用Nginx+uWSGI部署后无日志生成原因是什么,flasknginx,症状:使用python直
Python Flask使用Nginx+uWSGI部署后无日志生成原因是什么,flasknginx,症状:使用python直
症状:使用python直接运行时可以正常记入日志,使用Nginx+uWSGI部署后无日志生成。
背景介绍:
定义了一个initlogger函数对logger做了一些初始化工作。
该函数在myapi.py(flask主文件)中的name中进行启动初始化。
if __name__ == '__main__': initlogger() app.run(host='0.0.0.0', port=11120, debug=True)
发现没有生成日志后,想起应该在uWSGI的启动文件中进行初始化。
PS:uwsgi --socket 127.0.0.1:11121 -w WSGI:app
即在WSGI.py文件中的name中进行启动初始化。
from myapi import appimport myapiif __name__ == "__main__": myapi.initlogger() app.run()
依然没有日志生成,不知道怎么处理。本人为python新手,请大家指导。
后面自己搞定了,不过具体原理还不是很理解,希望有了解的人可以补充一下,谢谢!
直接把logger初始化的语句放在主文件myapi.py中,而不是在if name == "main"中调用初始化。
from flask import Flaskimport loggingfrom logging.handlers import TimedRotatingFileHandlerapp = Flask(__name__)formatter = logging.Formatter('%(name)-12s %(asctime)s level-%(levelname)-8s thread-%(thread)-8d %(message)s') # 每行日志的前缀设置log = logging.getLogger('api')fileTimeHandler = TimedRotatingFileHandler(cf.LOG_API_PATH + 'api_', "S", 1, 10)fileTimeHandler.suffix = "%Y%m%d.log" #设置 切分后日志文件名的时间格式 默认 filename+"." + suffix 如果需要更改需要改logging 源码fileTimeHandler.setFormatter(formatter)logging.basicConfig(level = logging.INFO)fileTimeHandler.setFormatter(formatter)log.addHandler(fileTimeHandler)
编橙之家文章,
相关内容
- Pythonb包与模块该如何引用,pythonb模块引用,blog|app/blo
- MySQLdb insert_id写入问题求帮助,mysqldbinsert_id,python MySQ
- python语言中_和__作用与使用范围是什么,python使用范围
- python编码cherrypy库文件乱码,pythoncherrypy,我在encode里面
- Python解码decode代码区别是什么,pythondecode,look = codec
- Python如何实现数据库新增记录在管理界面展现,python数
- Mac屏幕合上或是休眠的情况下,电脑系统在运行什么事件
- Python加密rsa再用C#解密如何实现,,如题,现在有一个
- qiniu pythonsdk提示ImportError错误求解,qiniuimporterror,这个是
- Python获取响应location值如何实现,pythonlocation,Python中如
评论关闭