在 Debian 上“过滤 JS 日志”通常分几种场景,下面按最常见情况给你一个速查表,你可以直接对照用。
journalctl(systemd 日志)如果 JS 服务是通过 systemd 运行的(如 Node.js 服务):
# 查看某个服务的日志
journalctl -u your-service-name
# 实时查看
journalctl -u your-service-name -f
# 只看错误
journalctl -u your-service-name -p err
# 按时间过滤(今天)
journalctl -u your-service-name --since today
# 关键字过滤(如 error / 500)
journalctl -u your-service-name | grep "error"
如果 JS 日志写到文件(如 /var/log/app.log):
# 查看包含 error 的行
grep "error" /var/log/app.log
# 忽略大小写
grep -i "error" /var/log/app.log
# 实时过滤
tail -f /var/log/app.log | grep "error"
# 过滤时间段
sed -n '/2026-01-20 10:00/,/2026-01-20 11:00/p' /var/log/app.log
如果你用的是 console:
console.error("error");
console.log("info");
过滤 error:
node app.js 2>&1 | grep "error"
const winston = require("winston");
const logger = winston.createLogger({
level: "info",
transports: [
new winston.transports.File({ filename: "error.log", level: "error" }),
new winston.transports.File({ filename: "combined.log" })
]
});
只查看 error 日志:
grep "error" error.log
# 只看 JS 文件请求
grep "\.js" /var/log/nginx/access.log
# 只看 404
grep " 404 " /var/log/nginx/access.log
# 看某个 IP
grep "1.2.3.4" /var/log/nginx/access.log
如果是前端 JS 报错,在 Debian 上一般:
# Nginx / Apache 访问日志
/var/log/nginx/access.log
前端 JS 日志不会直接出现在系统日志里。
grep "关键字" 文件
tail -f 文件 | grep "关键字"
journalctl -u 服务名 -p err
awk '/error/ {print}' 文件
sed -n '/start/,/end/p' 文件
你可以直接告诉我:
我可以给你一条完全可直接用的命令。