【问题标题】:debug library not working in conjunction with amqplib (rabbitmq)调试库不能与 amqplib (rabbitmq) 一起使用
【发布时间】:2021-02-11 04:12:11
【问题描述】:

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

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

我们使用 nodemon 开始的 REST API 在debug 下运行完全正常,但是我们的后台处理器不能用于调试。

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

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

有什么办法可以解决这个问题吗?

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

【问题讨论】:

    标签: node.js debugging node-amqplib


    【解决方案1】:

    根据以下github issue 回复, 在工人上,需要启用以下代码:

    debug.enable(process.env.DEBUG)
    

    【讨论】:

      猜你喜欢
      • 2019-10-25
      • 1970-01-01
      • 1970-01-01
      • 2021-09-18
      • 1970-01-01
      • 2013-11-06
      • 1970-01-01
      • 2013-09-08
      • 1970-01-01
      相关资源
      最近更新 更多