【问题标题】:Logger for a nodejs server applicationnodejs 服务器应用程序的记录器
【发布时间】:2019-02-21 17:10:49
【问题描述】:

我正在寻找一种方法来存储 console.log 消息,并能够快速访问它们并通过关键字 fast 搜索它们。

目前我使用的是一个简单的文本文件,但是当文件变大时会有一些延迟,因为我必须将整个文件加载到内存中。

【问题讨论】:

  • 请注意,您可以使用grep,它不需要将整个文件加载到内存中进行搜索。
  • 如果你使用的是aws..那么你可以使用cloudwatch

标签: javascript node.js database logging


【解决方案1】:

看看Elastic Stack

基本上,您将日志数据转储到数据库 (Elasticsearch) 并使用可以为您显示漂亮报告的工具 (Kibana) 进行查询。

如果您失去与 Elasticsearch 的连接,您仍然可以保留本地轮换日志文件。

【讨论】:

    【解决方案2】:

    使用Winston。您可以进行自定义传输(文件、内存、控制台、网络等)或限制文件大小和许多其他细节。

    【讨论】:

    • 温斯顿很棒!但是,这里的关键是搜索数据。请参阅我的答案以获取解决方案。我个人使用 Winston,其传输直接转储到 Elasticsearch。
    • 那么也许最好的解决方案是创建自定义传输以直接写入 Elasticserach,而不是创建日志文件并将其转储到 Elasticsearch。
    • 是的,这就是我的建议。 :-) 大多数人也喜欢写入文件,以防他们失去 Elasticsearch 连接。这取决于您的需求。
    猜你喜欢
    • 2015-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-13
    • 2017-11-17
    • 2019-09-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多