tail -f x.log
このコマンドを使用して、コマンドプロンプトで増大するログファイルを確認します。
tail -f
を実行した後にファイルに書き込まれたログ行を確認することにのみ関心があり、tail -f
を実行する前にファイルに書き込まれたログには関心がありません。しかし、開始時にtail -f
コマンドは、最後の10行を取り、それを表示します。
これは私を混乱させます、時々これらのログが新しく生成された(または)それらが古いログである場合?
では、新しいエントリのみを出力するようにtail -fをカスタマイズするにはどうすればよいですか?
あなたが試すことができます:
tail -n0 -f x.log
man page から:
-n、-lines =K
最後の10行ではなく、最後のK行を出力します。または-n + Kを使用して、K番目で始まる行を出力します
-n0
オプションで0行を表示します。そう
tail -n0 -f some.log
次のようにless
コマンドを使用することもできます
less file_name.log
(ログファイルが開かれ、ログファイルの最初のページが表示されます)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
}
お役に立てれば!