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)