3.2. 调试日志记录


调试日志记录是在调试时向应用程序日志添加详细信息的方法。这可让您:

  • 在应用正常操作期间保留最少的日志输出,以提高可读性并减少磁盘空间使用率。
  • 在解决问题时,查看有关应用程序内部工作的详细信息。

3.2.1. 添加调试日志记录

本例使用 debug 软件包但还有其他软件包 可以处理调试日志。

先决条件

  • 您有一个要调试的应用程序。

流程

  1. 添加 debug 日志记录定义。

    const debug = require('debug')('myexample');
    Copy to Clipboard
  2. 添加 debug 语句。

    app.use('/api/greeting', (request, response) => {
      const name = request.query ? request.query.name : undefined;
      //log name in debugging
      debug('name: '+name);
      response.send({content: `Hello, ${name || 'World'}`});
    });
    Copy to Clipboard
  3. debug 模块添加到 package.json

    ...
    "dependencies": {
        "debug": "^3.1.0"
      }
    Copy to Clipboard

    根据您的应用程序,可能已经包含此模块。例如,在使用 express 生成器 创建应用程序时,debug 模块已添加到 package.json 中。

  4. 安装应用依赖项。

    $ npm install
    Copy to Clipboard

3.2.2. 访问 localhost 上的调试日志

在启动应用时,请使用 DEBUG 环境变量来启用调试日志记录。

先决条件

  • 具有调试日志的应用程序。

流程

  1. 在启动应用时设置 DEBUG 环境变量以启用调试日志记录。

    $ DEBUG=myexample npm start
    Copy to Clipboard

    debug 模块 可以使用通配符 来过滤调试消息。这使用 DEBUG 环境变量进行设置。

  2. 测试应用来调用调试日志记录。

    例如,以下命令基于示例 REST API 级别 0 应用程序,其中 debug 日志记录被设置为在 /api/greeting 方法中记录 name 变量:

    $ curl http://localhost:8080/api/greeting?name=Sarah
    Copy to Clipboard
  3. 查看应用程序日志以查看您的调试信息。

    myexample name: Sarah +3m
    Copy to Clipboard

3.2.3. 访问 OpenShift 上的 Node.js 调试日志

使用 OpenShift 中的应用容器集中的 DEBUG 环境变量来启用调试日志记录。

先决条件

  • 具有调试日志的应用程序。
  • 安装了 oc CLI 客户端。

流程

  1. 使用 oc CLI 客户端登录 OpenShift 实例。

    $ oc login ...
    Copy to Clipboard
  2. 将应用部署到 OpenShift。

    $ npm run openshift
    Copy to Clipboard

    此操作运行 openshift npm 脚本,它将嵌套对 nodeshift 的直接调用。

  3. 查找 pod 的名称,并按照日志监视它启动。

    $ oc get pods
    ....
    $ oc logs -f pod/POD_NAME
    Copy to Clipboard
    重要

    pod 启动后,让此命令保持运行,并在新的终端窗口中执行剩余的步骤。这可让您 跟踪 日志并查看组成的新条目。

  4. 测试应用。

    例如,以下命令基于示例 REST API 级别 0 应用程序,其中 debug 日志记录被设置为在 /api/greeting 方法中记录 name 变量:

    $ oc get routes
    ...
    $ curl $APPLICATION_ROUTE/api/greeting?name=Sarah
    Copy to Clipboard
  5. 返回到 pod 日志,并注意日志中没有 debug 日志信息。
  6. 设置 DEBUG 环境变量以启用调试日志记录。

    $ oc get dc
    ...
    $ oc set env dc DC_NAME DEBUG=myexample
    Copy to Clipboard
  7. 返回到 pod 日志,以观察更新推出。

    推出更新后,您的 Pod 将停止,您将不再遵循日志。

  8. 查找新 pod 的名称并按照日志进行操作。

    $ oc get pods
    ....
    $ oc logs -f pod/POD_NAME
    Copy to Clipboard
    重要

    pod 启动后,让此命令保持运行,并在不同的终端窗口中执行剩余的步骤。这可让您 跟踪 日志并查看组成的新条目。具体来说,日志将显示您的调试信息。

  9. 测试应用来调用调试日志记录。

    $ oc get routes
    ...
    $ curl $APPLICATION_ROUTE/api/greeting?name=Sarah
    Copy to Clipboard
  10. 返回到 pod 日志以查看 debug 信息。

    ...
    myexample name: Sarah +3m
    Copy to Clipboard

要禁用调试日志记录,请从 pod 中删除 DEBUG 环境变量:

$ oc set env dc DC_NAME DEBUG-
Copy to Clipboard

其他资源

有关环境变量的更多详细信息,请参阅 OpenShift 文档

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat