winston、pino等库将日志输出为JSON格式,支持控制台、文件等多通道传输。例如:const winston = require('winston'); const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.Console(), new winston.transports.File({ filename: 'app.log' }) ] }); syslog或journald,利用系统原生工具管理。logrotate工具定期压缩、删除旧日志,避免文件过大。配置示例:# /etc/logrotate.d/nodejs /var/log/nodejs/*.log { daily rotate 7 compress missingok notifempty } tail -f实时查看日志文件更新。grep过滤特定关键字(如error)。gnome-system-log或ksystemlog直观浏览日志。lnav提供日志语法高亮和分页功能。Filebeat采集日志,Elasticsearch存储,Kibana可视化分析。node_exporter采集指标,Grafana展示日志相关数据并设置告警规则。Datadog、Loggly,支持日志聚合、智能告警和跨平台分析。