Mac 怎么查看多行异常日志?找到错误,展开完整调用记录 / 文章
文章 · LogStudio

Mac 怎么查看多行异常日志?找到错误,展开完整调用记录

mactool · 发布于 · 更新于 · 3 分钟阅读

搜到了 ERROR,但后面还有十几行函数调用,只复制第一行又说不清问题。LogStudio 可以把识别到的多行异常放到事件详情中阅读,方便你从错误名称继续看到调用记录和原因。

调用堆栈就是程序出错时记录的函数调用过程。它常常跨很多行,因此查错误时要把这一段一起看。

搜索异常名称,跳到出错的位置

打开日志,搜索请求编号,或者直接搜索异常名称,例如 SocketTimeoutException。点击结果到达对应位置,再选中相关记录,展开详情中的“事件”页签。

LogStudio 识别常见 Java、Python、Go、Node.js 和 .NET 文本异常。具体格式能被识别时,事件详情会帮助你把连续调用记录放在一起阅读。

Java:继续看 Caused by 后面的原因

下面是简化示例:

java.lang.IllegalStateException: cannot create order
    at example.OrderService.create(OrderService.java:42)
Caused by: java.net.SocketTimeoutException: read timed out
    at example.PaymentClient.read(PaymentClient.java:87)

第一行只说订单创建失败,Caused by 后面补充了读取超时。把整段看完,比只把顶层错误发给同事更有帮助。代码文件和行号也能给开发者提供继续调查的位置。

找到异常后,阅读调用位置和原因部分,示例图

Python:别漏掉最后一行

Python 的异常通常以 Traceback 开头,最后一行说明异常类型和错误消息。例如 JSONDecodeError 会描述解析失败的位置。查看事件详情时,从开头的调用过程一直读到异常结尾,就不用在很多相似行之间反复寻找。

如果一段记录没有被完整识别,也可以回到原文件继续阅读。搜索结果的前后文展开适合快速查看附近内容,特别长的异常则需要多看一些。

看完这一段,再回到相关请求

异常前面可能记录了连接目标、重试或请求参数。继续搜索同一个请求,或者直接向前拖动浏览,就能把前面的动作与这次错误联系起来。返回和前进方便你重新查看刚才的位置。

需要交给同事时,在事件详情中复制异常内容,附上来源文件和原始行号。日志行号与 OrderService.java:42 这样的代码行号分别保留,方便对方找日志、也找代码。

本文讨论应用输出的文本异常;macOS 原生崩溃报告另用相应调试工具。搜索步骤见大日志定位指南,下载入口见 LogStudio。

常见问题

一条错误占很多行,怎么一起看?

搜索错误后选中相关记录,在识别到多行异常时查看事件页签,就可以阅读这一段调用记录。

支持哪些常见异常格式?

支持 Java、Python、Go、Node.js 和 .NET 等常见文本异常的识别与展示。

可以复制异常记录给同事吗?

可以。在事件详情中复制内容,并附上来源文件和原始行号,方便对方继续查看。

LogStudio
LogStudio查看功能、截图、下载方式和隐私说明。
查看应用 ›