【问题标题】:Is there a way to send data to Logentries in a NodeJS + Browserify context?有没有办法在 NodeJS + Browserify 上下文中向 Logentries 发送数据?
【发布时间】:2016-03-07 03:22:18
【问题描述】:

我正在尝试从 AWS Lambda 函数向 Logentries 发送数据,该函数使用 JAWS 框架(现在是 Serverless Framework)创建,它使用 Browserify 作为其默认构建器。不过……

在这种情况下有什么方法可以将数据发送到 Logentries 吗?

我简要介绍了将 Logentries 直接连接到 AWS CloudWatch,但启用它的选项(通过 Logentries)显示“启用 Cloudwatch 和基础设施信息”,而我只是在寻找一种将特定 CloudWatch 流馈送到特定 Logentries 的方法日志集,我不需要任何基础设施信息。

编辑:
根据 Logentries 支持人员的反馈,我最终使用了他们拥有的 HTTP POST API(不要与他们已弃用的 HTTP PUT API 混淆)。这是我使用的代码:
https://github.com/silinternational/lambda-le-logger

【问题讨论】:

  • 出于对编辑此问题(和/或批准编辑)的尊重,我暂时将其添加为评论,而不是撤消他们的编辑。但是,这个问题是特定于下颚框架的,而不是无服务器的。从 JAWS 到无服务器进行了重大重构(不仅仅是重命名)。它们需要不同版本的 Node 等,这可能会改变提议的解决方案是否有效。我还没有从jaws-framework 到serverless 的改变,因为它的价值。不过,感谢您努力保持最新状态。

标签: node.js browserify aws-lambda logentries serverless-framework


【解决方案1】:

您可以使用xmlhttprequest 定义一个全局XMLHttpRequest,这样您就可以在Node 中使用le_js

global.XMLHttpRequest = require('xmlhttprequest').XMLHttpRequest;
var LE = require('le_js');
...

【讨论】:

  • 对于可能尝试这种方法的其他人:关于浏览我的代码并将其部署到 AWS Lambda 的过程导致只有第一次调用 Logentries 工作(每次执行 Lambda)。我怀疑这可能与 xmlhttprequest 在内部使用文件系统的方式有关,尽管我还没有验证。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-03-26
  • 1970-01-01
  • 2021-08-22
  • 2020-03-06
  • 2015-08-15
相关资源
最近更新 更多