gpt4 book ai didi

c# - 如何在 Python Waitress 服务器上调试 (500) 内部服务器错误?

转载 作者:太空宇宙 更新时间:2023-11-03 20:22:44 24 4
gpt4 key购买 nike

我正在使用由 Waitress 提供服务的 Python 和 Flask 来托管 POST API。我从 C# 程序调用 API,该程序发布数据并获取字符串响应。至少 95% 的情况下,它工作正常,但有时 C# 程序会报告错误:(500) 内部服务器错误

没有对该错误及其发生原因的进一步描述。唯一的线索是它通常发生在集群中——当错误发生一次时,它可能会连续发生几次。如果没有任何干预,它就会恢复正常运行。

由于该错误非常罕见,因此很难排除故障。关于如何调试或获取更多信息有什么想法吗?我可以从 C# 端或 Flask/Waitress 端进行错误处理吗?

最佳答案

Flask 支持 registering error handlers 。定义错误处理程序可以自定义服务器错误日志并向客户端返回更有意义的信息。

示例

import logging
import traceback

from flask import Flask, jsonify
from werkzeug.exceptions import HTTPException


app = Flask(__name__)
logger = logging.getLogger()

@app.errorhandler(HTTPException)
def handle_http_exception(error):
error_dict = {
'code': error.code,
'description': error.description,
'stack_trace': traceback.format_exc()
}
log_msg = f"HTTPException {error_dict.code}, Description: {error_dict.description}, Stack trace: {error_dict.stack_trace}"
logger.log(msg=log_msg)
response = jsonify(error_dict)
response.status_code = error.code
return response

关于c# - 如何在 Python Waitress 服务器上调试 (500) 内部服务器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58049827/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com