在Ubuntu系统中查看Node.js日志详情有多种方法,以下是一些常用的命令和步骤:
tail
命令查看实时日志tail
命令可以用来查看文件的末尾内容。我们可以使用 tail -f
命令来查看Node.js应用程序的实时日志。例如,要查看名为 app.log
的日志文件,可以运行以下命令:
tail -f app.log
这将持续显示 app.log
文件的末尾内容,直到通过 Ctrl + C
组合键结束命令。
cat
命令查看日志文件内容cat
命令可以用来查看文件的内容。我们可以使用 cat
命令来打印Node.js应用程序的日志文件的全部内容。例如,要查看 app.log
文件的内容,可以运行以下命令:
cat app.log
这将显示 app.log
文件的全部内容。
grep
命令筛选日志内容grep
命令可以用来在文件中搜索指定的文本。我们可以使用 grep
命令来筛选Node.js应用程序的日志内容。例如,要筛选包含关键字 error
的日志行,可以运行以下命令:
cat app.log | grep "error"
这将显示 app.log
文件中包含关键字 error
的所有行。
如果你使用PM2来管理你的Node.js应用,可以使用以下命令来查看日志:
显示所有应用的实时日志:
pm2 logs
显示特定应用的日志:
pm2 logs <app_name>
以JSON格式显示所有应用的日志:
pm2 logs --json
显示特定应用的日志,并限制显示的行数:
pm2 logs <app_name> --lines 1000
使用仪表盘显示所有应用:
pm2 monit
让输出日志加上时间戳:
pm2 start app.js --time
在启动应用时初始化日志相关信息:
pm2 start app.js --log /path/to/logfile
或者在配置文件中设置:
{
"apps": [{
"name": "Business News Watcher",
"script": "app.js",
"out_file": "/dev/null",
"error_file": "/dev/null",
"log_file": "/path/to/logfile",
"time": true
}]
}
在集群模式下,让所有进程的日志都写入同一个日志文件:
pm2 start app.js -i max --merge-logs
清除所有应用的日志:
pm2 flush
清除特定应用的日志:
pm2 flush <app_name>
journalctl
命令查看系统日志(适用于使用systemd的系统)如果你的Node.js应用是作为systemd服务运行的,可以使用 journalctl
命令来查看相关日志:
journalctl -u your-nodejs-service-name -t
其中 your-nodejs-service-name
是你的Node.js服务名称。
通过这些方法,你可以方便地查看和管理Ubuntu系统上Node.js应用程序的日志。