【问题标题】:How do I view a log file generated by screen (screenlog.0)如何查看屏幕生成的日志文件(screenlog.0)
【发布时间】:2011-05-24 03:39:36
【问题描述】:

所以我刚刚发现我可以创建我在屏幕中所做的一切的日志文件 (C-a H)。听起来像是在特定屏幕会话中跟踪潜在错误的好方法。然而,当我去尝试它时,日志文件被报告为二进制文件(并且不能像普通文本一样被查看)。所以我错过了什么吗?快速手册页查看和搜索 Google(和 SO)对此一无所知。

所以我的问题是:如何在屏幕上生成纯文本日志文件?

假设答案是“真是个菜鸟……你试试制作它们怎么样?RTFM。”我的问题变成了:如何使用 less 来查看我创建的屏幕日志文件(因为 less screenlog.0 不适用于二进制文件)?


编辑:所以cat 工作正常,但less 抱怨文件是二进制文件......为什么?


解决方案: 正如 jcomeau_ictx 有用地指出的那样,您可以使用 catmore 查看这些日志文件,但使用 less 您必须添加 -r 标志 less -r screenlog.0

【问题讨论】:

    标签: linux unix command-line terminal gnu-screen


    【解决方案1】:

    我刚刚在网上找到了一个screenlog.0;它纯文本,带有一些转义序列。只需 'cat' 文件,您应该可以正常查看它。

    [经过更多检查] Control-A H 是在我的系统上生成屏幕日志的原因。尽管“猫”有效,但您会错过很多数据。使用 'more' 而不是 'less' 来插入转义码。

    【讨论】:

    • 好的,这很奇怪,因为虽然我确实可以使用cat screenlog.0 并且它工作正常,但less screenlog.0 抱怨二进制文件并输出通常的二进制乱码。为什么?
    • 'less' 在其默认状态下将转义序列视为二进制数据,而在其默认状态下的 'more' 则不会。有些开关可能会影响这种行为,但如果是这样,我已经忘记了它们。 'less' 的手册页应该建议一些尝试。
    • 转义序列(如果您不熟悉它们)是一种存储光标定位、字体颜色和样式以及其他此类数据的方法。它可以追溯到 DEC VT-52 屏幕监视器,可能更早。
    • 哇!我一直都在少用,从不知道。你学得越多……谢谢!
    • 看起来less -r screenlog.0 会做到的。 -r--raw-control-chars
    【解决方案2】:

    我发现 less、more 和 cat 都不是查看屏幕日志文件的理想解决方案。所有“重播”一些控制字符,例如由“clear”(不记得相应的控制字符)产生的屏幕删除正在显示,隐藏已清除的内容。

    我知道效果很好的是:使用“view”或“vi”,它只是以转义符号显示控制字符。可能任何其他文本编辑器也可以工作(未测试)。

    【讨论】:

    • 是的,“更多”并不理想,但好处是它可以解释/生成日志中的颜色(如果存在),这可以更容易地可视化错误。
    【解决方案3】:

    -L 记录到文件, tail -f 'logfilename' 监控这个文件

    【讨论】:

      猜你喜欢
      • 2020-06-23
      • 2021-12-18
      • 1970-01-01
      • 2011-04-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-27
      • 2022-10-15
      • 2015-12-16
      相关资源
      最近更新 更多