2

在 NodeJS 中创建 GRPC 客户端时,如果我使用grpcpackageGRPC_VERBOSITY ,我可以使用设置为debug环境变量来启动我的程序。

$ GRPC_VERBOSITY=debug node index.js

我会得到大量关于正在发生的网络通信的信息。

但是,如果我切换实现并使用@grpc/grpc-js包,GRPC_VERBOSITY=debug则没有效果。

我已经查看了实现的底层打字稿,我看到了日志调用@grpc/grpc-js的样子。

所以我的问题是:如何在使用@grpc/grpc-js带有 NodeJS 的 NPM 包时启用日志记录

4

1 回答 1

8

可以在这里看到:

if (process.env.GRPC_VERBOSITY) {
  switch (process.env.GRPC_VERBOSITY) {
    case 'DEBUG':
      _logVerbosity = LogVerbosity.DEBUG;
      break;
    case 'INFO':
      _logVerbosity = LogVerbosity.INFO;
      break;
    case 'ERROR':
      _logVerbosity = LogVerbosity.ERROR;
      break;
    default:
    // Ignore any other values
  }
}

设置GRPC_VERBOSITY=DEBUG为大写

另外,根据this,您必须设置GRPC_TRACE以指定要查看的日志类型。要查看所有日志,您可以将其设置为all.

所以,在你的情况下,命令变成

GRPC_VERBOSITY=DEBUG GRPC_TRACE=all node index.js
于 2020-03-30T16:46:00.723 回答