前端后端测试程序员必备的查看后端日志技巧

前端后端测试程序员必备的查看后端日志技巧
最新回答
纸殇浅琳

2022-02-15 11:47:36

前端、后端、测试程序员查看后端日志的必备技巧包括理解日志基础、选择工具、定位日志文件路径、掌握常用命令及结合场景灵活应用,具体如下:

  • 理解日志基础

    定义与作用:日志是记录程序运行过程中重要信息的文本文件(如.log),用于追踪执行状况、定位问题、调试代码。例如,记录用户请求参数、接口响应时间、错误堆栈等。

    分级与关注点

    debug:开发调试信息,正式环境通常关闭。

    info:关键业务信息(如用户登录成功)。

    warn:潜在问题(如磁盘空间不足)。

    error:错误与异常(如数据库连接失败)。

    核心关注:优先查看info(业务流)和error(异常点)级别日志。

  • 选择查看工具

    终端工具

    Tabby/XShell:免费开源的SSH客户端,支持多标签、语法高亮,适合频繁登录服务器查看日志。

    SecureCRT:商业工具,功能稳定,适合企业环境。

    网页平台:部分公司自建日志系统(如ELK Stack),提供搜索、可视化功能,无需直接操作服务器。

    本地编辑器:直接下载日志文件后,用VS Code、Notepad++等打开,适合离线分析。

  • 定位日志文件路径

    常规路径

    /data/${服务名}/log/(如/data/cafe-user/log/cafe-user.log)。

    /var/log/(系统日志,如Nginx访问日志)。

    部署差异

    Docker环境:通过docker logs <容器ID>查看,或进入容器内/var/log/目录。

    Kubernetes环境:使用kubectl logs <Pod名>或通过日志收集系统(如Fluentd)查询。

    快速确认路径

    询问团队文档或后端开发人员。

    检查应用配置文件(如application.yml中的logging.path参数)。

  • 掌握常用命令

    基础查看

    cat filename.log:查看全部内容(适合小文件)。

    head -n 20 filename.log:查看前20行。

    tail -n 20 filename.log:查看末尾20行。

    实时监控

    tail -f filename.log:动态追踪新日志(按Ctrl+C退出)。

    示例:监控用户注册接口日志:tail -f /data/user-service/log/register.log。

    搜索过滤

    grep "keyword" filename.log:搜索包含关键词的行。

    组合命令:

    tail -f app.log | grep "error":实时监控错误日志。

    cat error.log | grep "500" | tail -n 10:查看最近10条500错误。

    高级操作

    less filename.log:分页浏览,支持搜索(/keyword)、跳转(G到末尾,g到开头)。

    zcat filename.log.gz:查看压缩日志(无需解压)。

  • 结合场景灵活应用

    排查接口异常

    步骤:

    通过tail -f实时监控相关服务日志(如订单服务)。

    使用grep过滤请求ID或错误码(如grep "req_12345" order.log)。

    结合时间戳定位问题发生时段。

    分析性能瓶颈

    示例:查找耗时超过500ms的请求:

    grep "duration" access.log | awk '$3 > 500 {print}'

    定位线上故障

    紧急场景下,优先查看error日志,结合tail -f和grep快速锁定关键错误(如数据库连接池耗尽)。

    协作沟通

    提取关键日志片段(如错误堆栈、请求参数)分享给团队,避免口头描述歧义。

  • 注意事项

    权限问题:确保账号有日志目录的读取权限(如chmod 644 filename.log)。

    日志轮转:大文件可能被分割(如app.log.1、app.log.2),需查看最新文件。

    敏感信息:避免在日志中记录密码、Token等,防止泄露。

    性能影响:高频实时监控(如tail -f)可能对服务器I/O造成压力,生产环境慎用。