我有一个 Web 应用程序,它输出到许多带有性能信息的日志文件。一个日志文件输出代码执行时间,另一个输出 SQL 时间。我无法控制记录器或生成日志文件的代码,但我想在一个地方输出日志。
目前我正在做这样的事情
tail -f sqlLogs.log | grep sql-time
tail -f perflogs.log | grep exec-time
每次在应用程序中执行 SQL 时,都会向控制台输出一些内容。但我必须在两个单独的 SSH 会话中运行代码。但是,我希望能够在同一个 SSH 会话中跟踪这两个文件。这可能吗?
是的,尾部输出行附加到命令行上给出的所有文件中:
看看MultiTail。是你的朋友。
你可以有多个日志尾部
http://www.vanheusden.com/multitail/
在 Ubuntu 10.04 上:
sudo apt-get install multitail
是的,使用该
screen
命令,您可以在一个终端上运行 2 个 bash 会话。screen
开始,Ctrl-a
thenS
(注意:大写 S)将屏幕分成 2。Ctrl-a
然后Tab
将在两个会话之间移动您。Ctrl-a
然后c
将在该新区域中启动一个外壳。(请在使用此之前查看 Riccardo 的答案,他的答案要简单得多,我将保留它,因为它可能对有类似但不同问题的人有用)。
您可以使用mkfifo将输出多路复用到一个管道
创建一个fifo管道,将n个文件尾随管道,然后cat管道
等结束了