0
我正在运行的Amazon EC2服务器上的网页瓶,以及由于某种原因,调试器不工作。我写了“app.debug = True”,但它似乎没有什么区别。我得到一个内部服务器错误,但它没有告诉我任何的调试信息。有谁知道如何让它工作?瓶调试在AWS EC2
我正在运行的Amazon EC2服务器上的网页瓶,以及由于某种原因,调试器不工作。我写了“app.debug = True”,但它似乎没有什么区别。我得到一个内部服务器错误,但它没有告诉我任何的调试信息。有谁知道如何让它工作?瓶调试在AWS EC2
据我所知,你将无法正常调试瓶的应用,同时它是在生产环境中运行(在你的情况,而这是在Amazon EC2服务器上托管)。
如果你想利用Werkzerug的交互式调试器,你需要在自己的机器上本地运行应用程序,以便能够调试。
但是,如果你想获得记录的错误,同时通过电子邮件在生产环境中工作,我建议建立一个SMTPHandler并添加到其连接到app.logger Logger类。请参见下面的ProductionConfig类的一个片段,其是由在Github米格尔格林贝格的样本瓶应用截取。请参阅文件夹here:
class ProductionConfig(Config):
SQLALCHEMY_DATABASE_URI = os.environ.get('DATABASE_URL') or \
'sqlite:///' + os.path.join(basedir, 'data.sqlite')
@classmethod
def init_app(cls, app):
Config.init_app(app)
# Email errors to the administrators
import logging
from logging.handlers import SMTPHandler
credentials = None
secure = None
if getattr(cls, 'MAIL_USERNAME', None) is not None:
credentials = (cls.MAIL_USERNAME, cls.MAIL_PASSWORD)
if getattr(cls, 'MAIL_USE_TLS', None):
secure =()
mail_handler = SMTPHandler(
mailhost=(cls.MAIL_SERVER, cls.MAIL_PORT),
fromaddr=cls.FLASKY_MAIL_SENDER,
toaddrs=[cls.FLASKY_ADMIN],
subject=cls.FLASKY_MAIL_SUBJECT_PREFIX + ' Application Error',
credentials=credentials,
secure=secure)
mail_handler.setLevel(logging.ERROR)
app.logger.addHandler(mail_handler)