tail -f x.log
我使用此命令在命令提示符中查看不断增长的日志文件。
我只对查看运行后写入文件的日志行感兴趣tail -f
,对执行之前写入文件的日志不感兴趣tail -f
。但是tail -f
启动时的命令会获取最后 10 行并显示它。
这让我很困惑,有时这些日志是新生成的(还是)是旧日志?
那么,我如何自定义 tail -f 以仅输出新条目?
答案1
答案2
您可以使用该-n0
选项来显示 0 行。所以
tail -n0 -f some.log
答案3
您还可以使用less
类似命令
less file_name.log
(日志文件将打开并显示日志文件的第一页)- 按shift+ f(与 tail -f 的作用相同)
- 如果您需要在日志文件中搜索任何关键字。按ctrl+c退出尾部模式并以/关键字和?关键字搜索关键字。
答案4
当我必须监视 docker 容器内的条目时,我创建了这种方法:
LOG_COUNT=0
LOGS=/var/logs/your_logs
function HEART_BEAT() {
LOG_COUNT_NEW=$(wc -l $LOGS | awk '{ print $1 }')
tail -n $(( $LOG_COUNT_NEW - $LOG_COUNT )) $LOGS
LOG_COUNT=$LOG_COUNT_NEW
}
希望这可以帮助!