2012-04-27 37 views
6

我正在开发一个Java EE应用程序,其日志将在Linux服务器中生成。搜索在作为尾部操作结果显示的数据?

我已经使用该命令tail -f -n -10000 MyLog 它显示该日志文件的最后1000行。

现在我按下Ctrl + C组合在腻子断开日志更新用(因为我担心这可能与新的请求被更新,我将失去我的数据)

在显示的结果,我怎么能搜索特定的关键字? (使用/字符串名称进行搜索,但不起作用)

+0

您应该查看如何将结果传递给grep,或者使用grep来搜索MyLog。 – 2012-04-27 11:57:54

回答

7

将您的输出输出到PAGER。

tail -f -n LINE_CNT LOG_FILE | less 

那么你可以使用

/SEARCH_STRING 
+0

我能够通过配置腻子设置窗口显示可滚动的行到1000来显示所有的输出。在输入tail -f命令并且一旦显示数据后,我使用ctrl + c断开尾部选项,现在我无法使用/ String名称 – user1253847 2012-04-27 13:10:05

+0

进行搜索。不要按**键** CTRL + C **。运行** tail -f -n LINE_CNT LOG_FILE |减**。这将为您提供缓冲输出。首先你会在第一页。按** h **获取更多关于如何使用** less ** PAGER的信息。其中一项功能是可以通过点击**/SEARCH_STRING **来完成搜索,其中** SEARCH_STRING **是您要搜索的字符串。 – tuxuday 2012-04-27 13:25:28

1

您需要从tail输出重定向到一个搜索工具(例如grep)。您可以分两步进行:将输出保存到文件中,然后在文件中搜索;或一气呵成:输出到搜索实用程序

要查看文件内容(因此您可以点击Ctlr + c),可以使用tee命令,该命令将输出复制到屏幕和文件:

tail -f -n -10000 MyLog | tee <filename> 

然后在文件内搜索。

如果你想管结果到搜索工具,您可以用同样的伎俩同上,但用你的搜索程序,而不是tee

5

两种方式:

tail -n 10000 MyLog| grep -i "search phrase" 

tail -f -n 10000 MyLog | less 

第二届方法将允许您使用/进行搜索。它只会搜索下来,但您可以按g返回顶部。

编辑:在测试中,似乎方法2不能正常工作......如果你点击文件末尾,它会冻结,直到你按Ctrl + c尾部命令。

0

上飞

控制端输出,而在终端,如油灰可以使用CTRL-SCTRL-Q停止,并开始输出到腻子终端运行的任何命令。

不包括用grep

如果你想排除包含特定模式使用grep -v线线以下将删除包含字符串并不都行信息

tail -f logfile | grep -v INFO 

展线包含单词INFO或DEBUG

tail -f logfile | grep -v -E 'INFO|DEBUG' 

最后,母亲和FA THER的所有尾矿工具是xtail.pl

如果您对您的主机xtail.pl Perl是一个非常好的学习工具,简单地说,你可以用它来尾部多个文件。非常便利。