journalctl是CentOS 7及以上版本默认的系统日志管理工具,可用于查看通过systemd管理的Node.js服务日志(如用pm2、forever或自定义systemd服务启动的应用)。
node app.js --name my-js-app),可使用以下命令过滤该服务的日志:journalctl -u your-nodejs-service-name -t
其中your-nodejs-service-name为服务标识(如my-js-app),-t参数可显示日志标签(便于识别来源)。-f参数可实时跟踪日志更新(类似tail -f):journalctl -u your-nodejs-service-name -f
grep过滤特定错误(如“ERROR”“Exception”):journalctl | grep 'ERROR'
若Node.js应用启动时将日志重定向到文件(如logs/app.log),可直接使用以下命令查看:
cat logs/app.log
less logs/app.log
按空格翻页,q退出。tail -f logs/app.log
此命令会持续输出文件末尾的新内容,适合监控实时错误或请求。对于分布式系统或需要集中管理的场景,可使用以下工具实现日志的收集、存储、分析与可视化:
logs/app.log或journalctl转发),Elasticsearch索引存储,Kibana提供Web界面进行搜索、图表展示(如错误趋势、响应时间分布)。systemd启动,journalctl可能无法捕获其日志,需直接查看应用指定的日志文件。logrotate工具定期分割压缩(如每天生成一个新文件),避免占用过多磁盘空间。