您的位置:首页 >如何筛选Debian JS日志
发布于2026-04-24 阅读(0)
扫一扫,手机访问

排查的第一步,永远是搞清楚日志究竟写在哪里。在 Debian 系统中,Ja vaScript 日志的来源主要分几类:
app.log 或 error.log。如果应用由 systemd 托管,日志则可能写入系统日志(journal)。/var/log/nginx/error.log 或 /var/log/apache2/error.log。/var/log/syslog 中。如果一时不确定,可以试试下面几个快速定位的命令:
ps aux | grep nodelsof -p | grep log journalctl -u grep -R “your-app-name” /var/log 2>/dev/null掌握了日志的藏身之处,接下来的筛选工作才能有的放矢。
找到日志文件后,命令行工具就是最高效的“手术刀”。下面这些组合,足以应对大部分日常筛选需求。
grep -i ‘error’ app.loggrep -E ‘error|warn|exception’ app.loggrep -v ‘heartbeat|ping’ app.loggrep -w ‘timeout’ app.loggrep -C 5 ‘error’ app.loggrep -o ‘error’ app.log | wc -ltail -n 100 -f app.logjournalctl -u --since “2025-12-12 00:00:00” --until “2025-12-12 12:00:00” jq -r ‘select(.level==“error”) | .message’ app.logjq -r ‘select(.level==“error” and .service==“api”) | {ts:.ts, msg:.message}’ app.log从简单的文本匹配到复杂的 JSON 解析,这套命令组合基本覆盖了 Debian 环境下日志筛选的核心操作。
理论说再多,不如直接上“配方”。这里针对几个典型场景,提供了可以直接复制粘贴的命令组合,你只需要替换其中的服务名、时间或字段名即可。
journalctl -u my-node-app -f -S “10 minutes ago” | grep -i ‘error’awk ‘$9 >= 400 {count[$9]++} END {for(c in count) print c, count[c]}’ /var/log/nginx/access.loggrep ’ 500 ’ /var/log/nginx/error.log | grep “2025-12-12”jq -r --arg d “2025-12-12” ‘select(.level==“error” and .ts?|startswith($d)) | “(.ts) (.message)”’ app.log当日志量变大,或者需要团队协作、历史回溯时,就需要更系统的方案了。
logrotate 工具,定期对日志进行切割、压缩和清理,避免单个文件过大影响读写和筛选性能。这些方案,是应对复杂生产环境、提升运维效率的必经之路。
最后,分享几个排查日志筛选问题时的高频检查项,帮你少走弯路。
/var/log 目录或 systemd journal 可能需要 root 权限。尝试使用 sudo,或将当前用户加入 adm 组。ps、lsof 命令确认进程打开的文件句柄是最可靠的方法。head 或 tail 看看日志实际的时间格式,再调整 journalctl --since/--until 或 jq 命令中的时间解析表达式。jq 解析 JSON 日志时报错?先确认日志文件是合法的 JSON 行格式(每行一个 JSON 对象)。如果不是,可能需要先用 sed 或 grep 进行预处理。head、tail 或 grep -m(限制匹配行数)缩小范围,再进行复杂分析。长期方案则是做好日志轮转和归档。
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9