(Golang)如何限制命令行输出的数量

时间:2016-02-23 04:43:05

标签: go command-line

在执行golang应用程序期间,命令行的显示被错误消息溢出 什么时候发生恐慌。 如果有很多goroutine跑,它可能会出现。

但是,我想知道的信息只是输出顶部的几行。 我如何限制我想要的功能?

谢谢。

哈利

1 个答案:

答案 0 :(得分:2)

我想到了两个解决方案。你可以选择适合自己的东西。

  1. Panicparse
  2. Marc-Antoine Ruel - 出色的开发者 - 创建了panicparse。运行你的程序,将 stderr 分配给 stdout ,将其输入panicparse,你就可以了。

    go run example.go 2>&1 | pp
    

    Panicparse会对输出进行重复数据删除和降级> 50%,同时使其更具可读性。

    查看自述文件中的屏幕截图。

    1. 如果您要查找的信息始终位于堆栈跟踪的顶部,那么可能只是将输出汇总到 head 的简单情况。

      我们想要运行我们的计划;允许它像正常一样输出到 stdout / terminal,但是我们希望用 head 来限制恐慌显示的信息量。请记住,恐慌被写入 stderr 。因此,将 stderr 传递给流程替换应该适用于大多数系统:

      go run example.go 2> >(head)