elixir - 为什么我在记录时出现 Timber logger 500 HTTP 错误?
问题描述
我刚刚为我的应用程序升级了 Elixir/Phoenix 到 Elixir 1.9.0,Phoenix 1.4.10。
木材记录器后端在升级后停止工作。登录 Timber 时,我总是收到 500 HTTP 错误。
我的新木材包版本是 3.1.0。旧版本(Elixir 1.6+ 上的 Timber 2.8.0,Phoenix 1.3+)运行良好。
我在这里尝试了文档:https ://docs.timber.io/setup/protocols/http
事实证明,该部分中的 POST 和 curl 示例也都返回了 500 错误。
有人遇到同样的问题吗?任何建议表示赞赏。
谢谢你。
解决方案
我想到了。
示例中的 URL 是https://logs.timber.io/sources/YOUR_SOURCE_ID/frames
当我在 Timber 中创建 Source 时,它有一个名称。我使用 Timber 中的源名称而不是源 ID 来替换“YOUR_SOURCE_ID”,因此 Timber 返回了 500。
太可怕了,因为至少它应该返回一个 422,表示请求格式没问题,但由于某种原因它无法处理。
无论如何,有两种情况下 Timber 错误地返回了 500:
正文中的 JSON 数据格式错误。应该返回 400。(现在可能已修复 - 不确定)。
URL 中的 source_id 错误。应该返回 422。仍然错误。
推荐阅读
- javascript - 如何交换字符串 JavaScript 中的字符位置
- javascript - Js/Node MongoDB - 嵌套对象的路径作为字符串?
- spring-security - JwtUsernameAndPasswordAuthenticationFilter 在这个例子中是如何工作的?
- android - 如何获取 USB 存储设备的广播并在 Android 上访问它?
- javascript - 如何对齐侧边栏图标和标题上的徽标?
- python - python - 如何将一行的一部分移动到python pandas中的新行?
- python - 内置 Python 模块 sqlite3 是使用全局计算机的 sqlite3 共享库,还是静态链接?
- node.js - 用户必须选择登录时 MyApp 可以访问的内容 | 谷歌 OAuth 2
- asp.net-core - ASP.NET Core HostedService 在创建数据库之前尝试访问它
- ios - IOS Beta 13 CoreNFC NDEF Lock NFC tag with writeLock() Ask