在 Linux 中动态查看日志文件 [关闭]

Posted

技术标签:

【中文标题】在 Linux 中动态查看日志文件 [关闭]【英文标题】:View a log file in Linux dynamically [closed] 【发布时间】:2011-01-07 03:14:28 【问题描述】:

我在 Linux 中有一个 .csv 格式的日志文件,该文件正在不断更新。 我想在更新日志文件时查看它。是否有任何 Linux 命令可以做到这一点?

【问题讨论】:

这确实属于服务器故障。 【参考方案1】:

tail -f yourlog.csv

新添加的行会不断显示。

【讨论】:

【参考方案2】:

正如其他人指出的那样,tail -f <i>file</i> 是最常见的解决方案。问题是结果只是滚动,除非您的终端支持它并且您的终端中缓冲了足够的行,否则您无法返回并搜索它们。

我喜欢的一个鲜为人知的解决方案是使用less;如果您在查看带有less 的文件时键入Shift-F,它将像tail -f 一样从文件末尾开始。或者,您可以使用less +F 启动less 以在启动时进入此模式。任何时候都可以输入Ctrl-C停止跟随文件,然后上下翻页,使用/搜索,使用less 就像平常一样。如果您在日志中看到一些有趣的东西,但它会滚动到屏幕外,或者如果您想回头检查一下您可能错过的东西,这将非常有用。完成搜索后,再次点击 Shift-F 以再次开始关注该文件。

multitail 看起来是在单独的窗口中跟踪多个文件的一个不错的解决方案;如果您使用tail -f 查看多个文件,它们将相互交错(用标题来区分它们),这可能不是您想要查看它们的方式。

tail -F(即大写的-F,而不是小写的-f)是一个非标准标志(适用于Linux、Cygwin、MacOS X、FreeBSD 和NetBSD),更适合查看日志文件, 可以偶尔旋转;进程重命名日志文件,然后在其位置创建新的日志文件是很常见的,以避免任何一个日志文件变得太大。 tail -f 将继续关注旧文件,该文件不再是活动日志文件,而tail -F 将监视正在创建的新文件,并开始关注该文件。如果您使用less 跟踪文件,则可以使用--follow-name 标志使less 也以这种方式运行。

(感谢 ehemient 在less +Fless --follow-name 上的提示)

【讨论】:

less +F 将自动进入跟随模式,less --follow-name 将更像tail -F。我发现这些非常有用:-) 啊,谢谢。我不知道命令行开关。 奖励:如果你在 less 中搜索 (/),然后进入尾部模式 (F),它将突出显示传入行中的匹配项。【参考方案3】:

tail -f foo.csv

【讨论】:

【参考方案4】:

如果您想监控多个文件,有一个名为multitail 的好工具可以让您合并两个或多个文件的输出并实时跟踪它们。 multitail 还允许您在受监视的文件中来回导航。

【讨论】:

tail -f以外的其他内容+1【参考方案5】:

tail -f 和它所有的朋友都是老派。 multitail 看起来更好,但真正烧 CPU 查看日志文件的方法是使用 glTail。

【讨论】:

【参考方案6】:
less -S '-#' 4 /var/log/logfile

-S 将停止烦人的换行。

-#4 会将水平滚动步长设置为四列,而不是默认的半屏。

按结束键刷新。

【讨论】:

抱歉,忘记检查问题是否仍然有效。 别抱歉,这非常有用。我在其中添加了+F,并在日志文件监视器中得到了我想要的一切【参考方案7】:

tail -lf logfile.csv.

如果您登录到 GUI,您可以使用鼠标垫动态查看日志。

【讨论】:

【参考方案8】:

如果您更喜欢通过 Web 应用程序监控日志,vsConsole FileView 可能会有所帮助。 请参阅http://demo.vamonossoftware.com/ 上的演示

要求您运行 java 应用服务器,将 vsConsole 部署到它,并在包含日志的服务器上运行代理 - 所以我猜它是一个比您需要的更重量级的解决方案。 (对于只想点击日志文件而不是 ssh、cd、tail 等的开发/测试团队来说,这很有用)

【讨论】:

以上是关于在 Linux 中动态查看日志文件 [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

linux上redis怎么动态看日志?

如何查看linux服务器的日志文件

使用命令如何动态查看nginx.log日志文件的内容?

如何查看及分析网站IIS日志文件

如何实时查看linux下的日志

如何实时查看linux下的日志