grep命令
grep "error" app.log
grep -i "error" app.log
grep -n "error" app.log
grep -v "debug" app.log
grep -E "error|exception" app.log
awk命令
awk '{print $1, $5}' app.log
awk '/error/ && $3 > 100 {print}' app.log
sed命令
sed 's/error/ERROR/g' app.log
sed -n '10,20p' app.log
时间范围搜索
sed -n '/2023-05-01 10:00/,/2023-05-01 11:00/p' app.log
多文件搜索
grep "error" *.log
zgrep "error" *.gz # 搜索压缩日志
实时日志监控
tail -f app.log | grep "error"
JSON格式日志处理
cat app.log | jq '. | select(.level == "error")'
使用Bunyan工具
cat app.log | bunyan -l error
使用Winston日志
cat app.log | grep -E 'error|warn' --color=auto
错误统计
grep -o "error" app.log | wc -l
Top错误类型
awk -F'error:' '{print $2}' app.log | sort | uniq -c | sort -nr | head -10
时间分布分析
awk '{print $1}' app.log | cut -d'T' -f1 | uniq -c
使用日志轮转工具
结构化日志
集中式日志系统
日志级别合理设置
这些方法可以帮助您高效地检索和分析Node.js应用程序日志,快速定位和解决问题。