【问题标题】:Displaying log data in latest-first format以最新优先格式显示日志数据
【发布时间】:2011-04-27 13:57:17
【问题描述】:

我喜欢采用后优先格式的日志数据(与大多数博客和新闻网站组织帖子的方式相同)。

我最熟悉的语言是 C++ 和 Python:有没有办法将日志数据输出到屏幕 (stdout) 或最近条目始终位于顶部的文件?

或者有没有办法修改tail 以向下滚动而不是向上滚动的方式显示最新行?

这是否需要一个窗口系统a lancurses

【问题讨论】:

  • 如果您的日志条目是单行,只需使用 tac
  • @William Pursell,作为一个外部工具,看起来很有希望......有没有一种简单的方法可以对我自己的应用程序做同样的事情而不会撕裂tac?另外,它是从头到尾读取,还是从头到尾读取?文件更新了还会继续更新吗?

标签: c++ python logging ncurses tail


【解决方案1】:

使用 tac 命令也可以:

watch "tac file.log"

如果您想像这样控制刷新时间,请添加 -n 选项

watch -n 0.3 "tac file.log"

【讨论】:

    【解决方案2】:

    终端和控制台驱动程序旨在以自上而下的方式显示输出。如果您想在另一个方向显示输出,则需要借助外部显示管理器(ncurses、HTML 布局引擎等)。

    【讨论】:

    • 您知道有哪些驱动程序会以自下而上的形式显示以进行文件写入吗?
    • 它们严格用于将文本输出到显示器,所以你的问题毫无意义。
    • 不,我的问题显然 NOT “毫无意义”,伊格纳西奥。如果有一个这样的驱动程序会自底向上显示,并且 shell 重定向有效,那么它应该从“从头到尾”写入文件(就像它一样)
    • 是的。即使文件是自下而上显示,一旦它被重定向,它也会从头到尾写入,因为文件系统就是这样工作的。
    • 也许我正在寻找一个不同的 fs...你知道有什么适合这个账单的吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-30
    相关资源
    最近更新 更多