JS日志的位置取决于应用类型(如Node.js、前端应用)和系统配置,常见路径包括:
/var/log/syslog、/var/log/messages(部分JS应用错误会记录至此);/var/log/apache2/error.log(Apache)、/var/log/nginx/error.log(Nginx);/var/log/nodejs/error.log或项目目录下的logs/文件夹中。使用Linux原生命令行工具可快速筛选、提取日志信息:
grep:过滤特定关键词(如“error”“Uncaught TypeError”),例如sudo grep "error" /var/log/nodejs/error.log;tail -f:实时跟踪日志文件变化,例如tail -f /var/log/syslog(查看系统日志中的JS错误);awk:提取日志中的特定字段(如时间戳、错误类型),例如awk '{print $1, $2, $5}' /var/log/your-js-app.log(提取日期、时间和错误消息);sed:替换或修改日志内容(如将“error”替换为“ERROR”),例如sed 's/error/ERROR/g' /var/log/your-js-app.log;journalctl:针对systemd管理的JS服务(如Node.js应用通过systemd启动),可过滤服务日志,例如journalctl -u node-app -f(实时查看名为“node-app”的服务日志)。避免日志文件过大影响系统性能,可使用logrotate工具自动轮转、压缩和删除旧日志:
cat /etc/logrotate.conf;/etc/logrotate.d/目录下创建配置文件(如js-logs),内容示例:/var/log/your-js-app.log {
daily
rotate 7
compress
missingok
notifempty
create 644 root root
}
上述配置表示每日轮转日志,保留最近7天的压缩日志。对于大规模JS日志,可使用ELK Stack(Elasticsearch+Logstash+Kibana)或EFK Stack(Elasticsearch+Fluentd+Kibana)实现集中化存储、搜索和可视化:
/var/log/your-js-app.log),并转发至Elasticsearch;js-logs-*),通过Dashboard展示错误频率、趋势图、堆栈跟踪等信息。goaccess /var/log/nginx/access.log --log-format=COMBINED;journalctl -f:实时查看JS日志新条目,快速响应错误;tail -f:配合grep过滤关键错误,例如tail -f /var/log/your-js-app.log | grep "Uncaught TypeError";