如何在生产服务器上测试、调试和查看 Node js 应用程序的控制台日志消息

How to test, debug and view console log message of Node js app on production server

我有一个 ubuntu 服务器,节点 js 应用程序正在其上运行。该应用程序是从 Sails mvc 框架开发的。 我被要求修复一些服务器端 js 代码。但问题是我不知道如何测试和调试那些代码。

首先,它是 linux 没有 UI 的服务器,我无法通过本地主机从浏览器进行测试,因为程序是由 HTTP 请求触发的。

其次,也不太可能从内置调试器命令行客户端进行调试,原因与第一个相同。也许我只是不知道如何...

第三,我看到有一些console.log('...')代码,但我不知道在哪里可以找到日志文件。

希望有人能提供一些意见。非常感谢。

您不需要浏览器 - 您可以使用 curl:

进行虚假请求
curl -v -XPOST localhost/path -d 'variable=test'

可能你的应用程序有一些日志记录(日志保存到文件中),所以搜索它:

  • 搜索节点进程PID:

    ps aux | grep node
    

    ps aux | grep <your application name>
    
  • 查看节点进程的打开文件并找到您的日志

    ls -l /proc/<node_app_pid>/fd
    

资源:

Sails 有它自己的内置测试套件,使用 mocha

请参阅 Sails documentation,了解如何测试和调试您的应用程序。

NodeJS 作为独立的运行时存在于您的浏览器之外,因此它不会登录到您的 chrome 开发控制台。使用命令 node <filename.js>nodejs <filename.js> 从终端启动节点应用程序。既然你提到了风帆,也许你是 运行 它作为一个 forever 过程

检查你是否运行它是永远的过程:

  1. 在应用 运行 所在的服务器上打开 linux 终端。
  2. 输入forever list
  3. 找到包含主文件名称的条目
  4. 然后获取与之关联的.log文件的名称
  5. 要查看日志,请执行 tail -f <log file path>