使用 tail -f 实时观测服务器日志输出

应用部署到服务器上之后, 像开发阶段那样实时查看日志的方式

目录

在开发阶段, 有 console 端的输出, 总是可以方便实时地看到应用的日志. 可一旦应用部署到服务器上之后呢, 日志被输出到文件中, 在某些情景下需要不停地查看日志文件的输出以定位某些问题, 此时是否还能像开发那样实时查看日志呢?

答案是可以的! 这个命令就是 tail -f .

tail -f 具体使用例子

来看一个具体的示例, 比如在我的服务器上, 想实时查看下 nginx 访问日志的情况, 我可以进入其日志文件夹, 里面有个 access.log, 每当有请求过来时, nginx 都会往里面记录日志: nginx access log

然后使用以下的命令实时监测日志变化:

tail -f access.log

之后刷新一下我 个人网站的主页, 可以看到日志自动滚动了:

tail -f access.log

tail -f 具体含义

首先简要介绍下 tail 命令. 通常日志文件都是比较大的, 而我们感兴趣的最新的日志部分又打印在最后, 而 tail 就是用于查看这些最新输出的日志.

tail 是尾巴, 尾部的意思.

使用 tail --help 查看其帮助:

tail --help -f --follow

可以看到一个 -f, --follow 的选项, 其含义为:

output appended data as the file grows

当文件增长时, 输出附加的数据

因此, 当当前路径下有一个 console.log 文件, 可以使用以下命令输出其最新的内容:

tail -f console.log

或使用 --follow 完整参数名形式:

tail --follow console.log

停止输出

在调试完成后, 不需要再实时观测时, 可以使用 Ctrl+C 取消命令停止其输出.