GNU/Linux >> Linux の 問題 >  >> Linux

Apache ログのカラー テール

解決策 1:

マルチテールを使用してログを監視しています。これには、色付けと、マージまたはウィンドウでの複数のログファイルの監視が含まれます。試してみてください。

解決策 2:

このようなものを使用できない理由:

tail -f FILE | grep --color=always KEYWORD

ソース: commandlinefu.com

解決策 3:

これを見つけました:http://fixunix.com/unix/83044-tail-color.html

tail -f file | perl -pe 's/keyword/\e[1;31;43m$&\e[0m/g'

これは ANSI 端末でのみ機能しますが、他のすべての端末は事実上消滅しています。 \e[...ANSI エスケープ シーケンス SGR "select graphicrendition" はありません。 "..." は、セミコロンで区切られた整数に置き換えることができ、次の意味があります:

0 :すべての属性オフ 1 :太字 31 :前景の赤 43 :背景の黄

もちろん、「キーワード」は任意の perl 正規表現にすることができます:

(foo|bar) 文字列 foo と bar を強調表示\b((foo|bar)\b foo と bar という単語を強調表示\b((foo|bar)\b. foo または bar という単語を含む行全体を強調表示します

または、簡単な方法として colortail をインストールするだけです おそらくあなたのお気に入りのリポジトリにあります(CentOSの場合はダグ)

http://developwithstyle.com/articles/2010/04/20/tail-your-logs-with-a-touch-of-color.html

http://joakimandersson.se/projects/colortail/

解決策 4:

grep を組み合わせた小さなスクリプトを使用して、いくつかの色を取得します。

#!/bin/bash
shopt -s expand_aliases

alias grey-grep="GREP_COLOR='1;30' grep -E --color=always --line-buffered"
alias red-grep="GREP_COLOR='1;31' grep -E --color=always --line-buffered"
alias green-grep="GREP_COLOR='1;32' grep -E --color=always --line-buffered"
alias yellow-grep="GREP_COLOR='1;33' grep -E --color=always --line-buffered"
alias cyan-grep="GREP_COLOR='1;36' grep -E --color=always --line-buffered"

tail -1000f /var/log/apache2/error.log | grey-grep ".*PerformanceLogger.*|$" | cyan-grep "INFO|$" | yellow-grep "WARN|$" | red-grep "[ERROR].*|[FATAL].*|$" | green-grep "***|$"

ポイントは、チェーンされたすべての grep が異なる色を追加することです。したがって、結果は次のようになります。


Linux
  1. Apacheを再起動します

  2. サーバーログの使用

  3. 再帰的にgrepするにはどうすればよいですか?

  1. ブラウザで PHP または Apache のエラー ログをオンラインで表示する方法は?

  2. 最後の 100 行のログを取得する

  3. なぜ `tail -f … | grep -q …` 一致が見つかったら終了しますか?

  1. ssh を介して複数のマシンでログ ファイルを追跡する

  2. 時々ローテーションされる末尾のログを継続的に監視します

  3. `tail -f` のリアルタイム出力にフィルタを適用する方法は?