假设我们有一个 ASP.Net 的Web API服务器,我们返回给客户端的所有错误都包括以下属性:
- 错误代码(REST 自定义错误代码) HTTP
- 状态(HTTP 标准代码)
- 错误消息(错误夏季)
- 错误详细信息(可选)
我只是想知道存储这些错误消息(不是日志记录)的最佳方法,以便稍后检索并将其返回给客户端(通过 JSON),以防异常。几个建议的答案:
- 资源文件 (.resx)
- 数据库
- 内部代码
如果您已正确记录它,那么将它们存储在代码中总是比从任何数据存储中获取更快。
在 resx 和代码中存储自定义错误代码模型的一些优点。
- 错误字符串可以在 resx 中,优点是它们可以本地化,并且与数据库查找相比,获取速度更快。
- 在API世界中,通常您会返回一些失败或成功的HttpStatus代码,您提到的示例只是错误响应的一部分。此错误响应基于代码的逻辑,因此要返回给客户的 ErrorCode 可以是映射到与错误字符串连接的 httpstatuscode 的常量。
你的意思是如何记录它们吗?这样做的两种主要方法是:
- 记录到 CSV 文件
- 记录到数据库
这些被认为是最佳做法。CSV的优点是它们很便宜。CSV 的缺点是它们之后可能很难查询/过滤,尤其是当您记录到单独的文件时。
在数据库中,优点是过滤能力,但缺点是它很昂贵。