You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在CyberPanel中保存和查看运行的Node.js项目的各类日志?

日志获取配置方案

1. CyberPanel & OpenLiteSpeed 侧配置

  • 查看默认日志路径:CyberPanel 部署的 Node 站点默认日志存放在 /home/<你的站点域名>/logs/ 目录下,标准输出日志为 stdout.log,错误输出日志为 stderr.log。若路径下无对应文件,先进入对应站点的 CyberPanel 管理页,找到「Web服务器配置」-「日志设置」,勾选 开启错误日志、开启访问日志,日志级别调整为 DEBUG 方便排查细粒度问题。
  • OpenLiteSpeed 运行配置调整:进入 7080 端口的 OLS 管理后台,找到对应 Node 站点的上下文配置,在「环境变量」栏添加 NODE_ENV=development,同时删除启动参数里的静默运行相关字段,确保 Node 进程的控制台输出可以被重定向到日志文件。
  • 生效配置:修改完成后先在 OLS 界面重启对应 Node 站点上下文,再执行 systemctl restart lscpd 重启 CyberPanel 核心服务即可。

2. Node.js 项目侧日志配置

  • 自定义日志重定向:在项目根目录新增启动脚本 start.sh,写入以下内容:
#!/bin/bash
exec node 你的入口文件.js >> ./runtime.log 2>> ./error.log

执行 chmod +x start.sh 给脚本添加执行权限后,在 OLS 的 Node 上下文启动配置中,把原启动命令替换为 ./start.sh,后续所有控制台输出和错误都会分别写入项目根目录的 runtime.log 和 error.log。

  • 开启 Mongoose 调试日志:在项目引入 Mongoose 的代码段前添加 mongoose.set('debug', true),所有数据库请求、参数、返回错误都会直接打印到控制台同步写入日志。
  • 全局异常捕获:在项目入口文件最顶部添加以下代码,避免进程直接崩溃无错误输出:
process.on('uncaughtException', (err) => {
  console.error('未捕获异常:', err.stack);
});
process.on('unhandledRejection', (reason, promise) => {
  console.error('未处理Promise拒绝:', reason);
});

内容的提问来源于stack exchange,提问作者Indraprastha Design

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 08:27:03