输入盐会导致Flask在终点处什么也不输出

2024-09-30 16:35:01 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有以下foo.py文件:

#import salt
from flask import Flask

app = Flask(__name__)

@app.route('/')
def slash():
    return 'foo'

if __name__ == '__main__':
    app.run(debug=True)

如果我运行python foo.py我得到这个输出,一切正常:

^{pr2}$

现在,如果我取消注释import salt行并运行python foo.py,我在终端中什么也得不到,尽管我可以用curl确认我的web应用程序确实在运行。Salt Stack API和Flask之间是否存在冲突,或者我是否发现了一个bug?在

我在virtualenv中使用了flask0.10.1和Salt 2014.7.0和python2.7.6。在

编辑:我发现了这是关于什么的,尽管我仍然不确定解决方案是什么。Salt调用logging.setLoggerClass(SaltLoggingClass)作为其初始化的一部分,因此SaltLoggingClass从此被用作我们的日志类,甚至在其他模块中也是如此。在


Tags: 文件namefrompyimportappflaskfoo
1条回答
网友
1楼 · 发布于 2024-09-30 16:35:01

好吧,我知道这里发生了什么,我也找到了一个解决办法。正如我在上一次编辑中所说的,这是Salt已经报道过的here。解决方法是在导入Salt之前自己初始化日志。像这样:

import sys
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG, format="%(message)s")

# Now we can import salt.
import salt

我不认为这是Salt最好的决定,但我们必须处理我们所得到的!在

相关问题 更多 >