0

我们以两种“模式”运行我们的应用程序:

  1. 我们的 REST API (express js)
  2. 我们的后台处理器 (amqplib)

我们开始使用 nodemon 的 REST API 在debug下运行得很好,但是我们的后台处理器不能在 debug 下运行。

我们DEBUG=app:*在 .env 文件中声明,是的,我们在控制台日志中确实看到了它,但是由于某种原因,当我们执行以下操作时,在运行我们的后台处理器时没有任何报告。

我们确实看到 amqp 的依赖项之一称为bitsyntax使用调试。我想知道它是否可以关闭调试但在他们的代码中找不到任何这样做的东西。

我能做些什么来解决这个问题吗?

import amqp from 'amqplib/callback_api'
import dotenv from 'dotenv'
import debug from 'debug'

const testLog = debug('app:worker')

const rabbitmq = `amqp://${process.env.RABBITMQ_USER}:${process.env.RABBITMQ_PASS}@${process.env.RABBITMQ_HOST}`
console.log(process.env.DEBUG) // app:*
const worker = () => {
  try {
    amqp.connect(rabbitmq, (err, conn) => {
      // ...
      testLog('this does not show up')
      console.log('this does show up')
      // ...
    })
  } catch (err) {
    // ...
  }
}

worker()

我们使用以下命令运行我们的后台处理器: NODE_ENV=development nodemon ./src/workers/index.ts

4

1 回答 1

0

根据以下github 问题响应,需要在工作人员上启用以下代码:

debug.enable(process.env.DEBUG)
于 2021-02-10T20:12:11.963 回答