gpt4 book ai didi

node.js - 登录 apollo-server 的推荐方式

转载 作者:行者123 更新时间:2023-12-03 12:17:34 24 4
gpt4 key购买 nike

Apollo 服务器似乎没有附带任何类型的日志记录。这使得它很难按原样在生产环境中使用 - 它实际上是盲目的。有没有推荐的方法来启用不同类型的日志?

我特别关注查看详细日志、错误日志(当服务器崩溃/内部组件崩溃时)和其他调试日志。

更新:
我已经在使用 winston用于记录基本事件。这个问题与详细的日志记录有关——比如记录请求生命周期的各个部分、服务器崩溃、缓存错误等。

最佳答案

目前只有实验性 API 用于更精确的日志记录。
https://www.apollographql.com/docs/apollo-server/features/metrics/#granular-logs

const { ApolloServer }  = require('apollo-server');
const LoggingExtension = require('./logging');

const server = new ApolloServer({
typeDefs,
resolvers,
extensions: [() => new LoggingExtension()]
});

server.listen().then(({ url }) => {
console.log(`🚀 Server ready at ${url}`);
});

在阿波罗官方 GitHub 上查看 logging文件样本:
https://github.com/apollographql/apollo-server/blob/8914b135df9840051fe81cc9224b444cfc5b61ab/packages/apollo-server-core/src/logging.ts

我建议创建一个日志扩展并在以下之一中使用:
  • https://www.npmjs.com/package/winston
  • https://www.npmjs.com/package/bunyan

  • 您将能够根据需要管理您的日志。
  • 按环境打开/关闭(生产/开发/登台/等)
  • 管道日志到文件或 stdout/stderr 或其他
  • 有日志“级别” Node 的控制台仅记录到 stdout/stderr

  • 查看这篇文章: https://www.coreycleary.me/should-you-use-a-logging-framework-or-console-log-in-node/

    附注虽然这是一个实验性的 API,但它可能会被更改。虽然它已经被记录了一点,但它可能不会被彻底改变,但你永远不会知道。我不建议在 atm 上投入太多资源。

    关于node.js - 登录 apollo-server 的推荐方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57815724/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com