在heroku中记录多行消息

2024-03-05

我正在使用 NodeJS 开发一个应用程序并部署在 Heroku 中。

我需要记录多行消息(例如堆栈跟踪和其他多行信息),但希望将它们保留为一条日志消息。

问题是当使用console.log(或任何使用的框架console.log/stdout)对于多行消息,Heroku 将其解释为多条消息(原始消息中每行一条消息)。

我认为问题在于 Heroku 从进程中读取消息'stdout并且无法区分换行符(LF/CR) 在一条消息中,或者在多条消息中换行,从而每行创建一条消息。

我尝试将消息直接发送到系统日志(使用ain2 https://npmjs.org/package/ain2)而不是标准输出,它适用于多行消息,但仅适用于我的本地环境。

我想在使用 logplex/syslog 的 Heroku 中做同样的事情?但在使用带有默认参数(localhost、UDP、端口 514)的 syslog 时无法记录我的消息。

还有其他有效的方法可以在 Heroku 中记录多行消息吗?这是平台的不足吗?


我什至不确定你的堆栈跟踪会取得多大成功,因为最终这是syslog基于,并且 Heroku 可能对单个长度有限制syslog线。但不确定,而且肯定不知道极限。

你能做的就是更换每一个\n with \n>>>(即:以“">>>”开始每个连续行),然后在日志处理代码中相应地解析它。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在heroku中记录多行消息 的相关文章

随机推荐

  • 与分布式源代码控制的持续集成

    我想我误解了一些东西 但无法找到到底是什么 我用谷歌搜索 但没有明白这个想法 有两种流行的技术 持续集成和分布式源代码控制 人们以某种 方式将它们结合起来 但我不明白如何结合 AFAIK 持续集成意味着在本地测试代码后立即提交到中央存储库
  • 如何使 WPF 滑块拇指从任意点跟随光标

    我有这样的滑块
  • Google Spreadsheet API 插入图像

    有没有办法通过谷歌电子表格API插入图像 我查看了文档 但除了插入 更新 删除行之外 没有提及与工作表相关的其他数据 例如图像 例如 在 Excel 上 图像附加到工作表而不是任何特定单元格 因此 您必须从工作表中插入删除图像 然后将其放置
  • 如何在 Ubuntu Web 服务器上为 Dart 安装 pub(命令行使用)

    我已按照说明进行操作 在 Linux 选项卡下 将 Dart 安装到 Ubuntu Web 服务器上 Dart 本身工作正常 但我无法使用 Pub 命令 仅限 Dart 命令 如何为服务器安装 Pub 以下是使用 Aptitude apt
  • Google Assistant Dialogflow API V2 webhook ETag 错误

    我正在尝试返回简单的文本响应并使用以下代码在 Google Assistant 应用程序中显示基本卡片 public GoogleCloudDialogflowV2WebhookResponse Search GoogleCloudDial
  • Hadoop 块大小 vs 分割 vs 块大小

    我对 Hadoop 的概念有点困惑 有什么区别Hadoop Chunk size Split size and Block size 提前致谢 块大小和块大小是一样的 分体尺寸可能不同于块 块 size 地图缩减算法不适用于文件的物理块 它
  • 获取当月第一天的最有效方法是什么?

    使用 ruby 我尝试将日期格式化为 2009 10 01 我采用当前日期 2009 10 26 然后将日期更改为 01 我知道有多种方法可以做到这一点 但很好奇从代码角度来看 实现这一目标的最短方法是什么 如果您不介意在应用程序中包含 A
  • 如何使用鼠标滚轮在 WPF 中水平滚动?

    如何使 WPF 能够响应使用鼠标滚轮的水平滚动 例如 我有一个 Microsoft Explorer 迷你鼠标 并尝试使用以下命令水平滚动 ScrollViewer 中包含的内容 HorizontalScrollBarVisibility
  • 使 jQuery 的 .prev().prev().prev().find("selector") 调用更容易

    我怎样才能避免 prev prev prev 打电话 这有捷径吗 您可以使用 prevAll 结合eq or eq since prevAll以相反顺序返回一组元素 从最接近当前元素的元素开始 0 相当于 prev prev prev 将会
  • ODBC 源的版本与此版本的数据流不兼容

    我有一个 SSIS 包 我使用批处理文件通过 DTEXec 运行它 它看起来像这样 cd C Program Files x86 SonicWALL SSL VPN NetExtender NECLI connect s test co u
  • 反序列化复杂对象中的 xml

    我不明白为什么对象为空 WebClient browse new WebClient StreamReader res new StreamReader browse OpenRead http ws audioscrobbler com
  • 将列值与 NA 进行比较

    下面的输入表的数据点是NA 我明白在R当一个值与NA它导致输出是NA 还有办法让我仍然可以使用进行比较ifelse 并确保所比较的值之一是否是NA那么它仍然会提供输出 就像NA是否正在比较字符 字符串 输入原始数据 data lt read
  • 不要在循环内创建函数[重复]

    这个问题在这里已经有答案了 在这种情况下解决 jslint 错误的正确方法是什么 我正在向使用它的对象添加一个 getter 函数 我不知道如何在不创建循环内的函数的情况下执行此操作 for var i 0 i
  • 类在 /Users/... 和 /Applications/... 中实现。使用两者之一。哪一个是未定义的

    我知道这是使用单元测试时的常见错误消息 但我没有这样做 这就是我所做的 我创建了一个新的命令行工具项目 我在print Hello World line 我输入类似的内容po 3 3进入控制台 然后我收到这条消息 objc 929 类 Tt
  • 如何在地图上以最少的重叠绘制网络

    我有一些作者所在的城市或国家 我想知道是否可以在地图上绘制合著者的网络 图 1 其中包含国家的坐标 请考虑来自同一国家 地区的多名作者 编辑 可以像示例中那样生成多个网络 并且不应显示可避免的重叠 这是为数十位作者准备的 缩放选项是可取的
  • \r 不生成换行符

    我使用以下代码 if delanaloge equals stari if novi equals zdruzen else zdruzen zdruzen novi r nap true r附加以创建换行符 但它不会像我预期的那样生成换行
  • VC++中如何判断链接是否存在?

    我有一个链接 我已通过正则表达式检查该链接是否是有效的 URL 现在 我想检查该链接是否是有效的 http 链接 即它不应该是不存在的链接 VC 6 0 MFC 有办法检查吗 一种选择是尝试使用以下方法从该 URL 获取数据URLOpenB
  • 关闭 Twisted conch SSH 连接的正确方法是什么?

    关闭 Twisted conch SSH 连接的正确方法是什么 有没有明确的方法来做到这一点 我见过的所有 Twisted conch 示例都会关闭 SSH 通道 然后停止反应器 反应堆关闭似乎可以处理关闭连接 但是 我将 wxreacto
  • 在Atom中使用anaconda环境

    我已经安装了 Anaconda Python 3 6 和 tensorflow python 3 5 我已经设法让它在 Spyder 和 sublime text 3 上运行 通过创建新的构建系统 现在所有的都是使用Atom 我不习惯 所以
  • 在heroku中记录多行消息

    我正在使用 NodeJS 开发一个应用程序并部署在 Heroku 中 我需要记录多行消息 例如堆栈跟踪和其他多行信息 但希望将它们保留为一条日志消息 问题是当使用console log 或任何使用的框架console log stdout