継続的に追加されるファイルを読みながら出力を少なく色付けする方法が切実に必要です。
問題のファイルはResinサーブレットコンテナログです。
現在のカラースキームの「実装」では、キーワードの周囲の色を使用しtail -F
て編集できます。sed
着色する単語が4つありますINFO, WARN, ERROR, DEBUG
。そのうちの1つは1行に1回表示されます。
環境変数を試してみましたが、LESSOPEN
ログを読み続けることができないようです。ファイルを開くと、ファイルは終了しません。
私はサーバーに対してほとんど制御できず、デフォルトのフォルダに私のスクリプト以外のものをインストールできないため、パッケージはありません。問題のサーバーはRHEL 6.4です。
問題は、less
ファイルを読み続けていないことです。環境変数を使用してログを継続的に追跡する方法はありますかLESSOPEN
、それとももっと洗練されたツールが必要ですか?
答え1
問題はLinuxのパイプにあります。CTRLcパイプが閉じているためless
再開できません。
私が見つけた解決策は、カラーログをファイルにリダイレクトしてからless
。できる後に続くCTRL-c
ので、次のようにします。
tail -F -c +1 | colorize > /tmp/logfilename &
less -Sr /tmp/logfilename
奇跡的に動作します。
答え2
これには2つの問題があります。
- より低い速度で出力をカラー化する方法
- tail -fのように動作しないようにする方法
LESSOPEN
良い方法のようですが、最初の質問に答えることはできません。 2番目の方法は簡単です。 lessを起動するか、lessがすでに実行されている場合はless +F
クリックします。ShiftF
答え3
君は走れるよtail -f
Emacsシェルバッファからそして、Emacsに着色をさせてください。
ハイロック正規表現に一致する単語をすばやく強調表示できます。強調表示パターンをファイルに保存するためのおおよその方法がありますが、ファイルが実際にコマンドの出力である場合は便利ではありません。簡単に書けばいいと思います。メインモードそしてフォントロック キーワード。
答え4
色をシミュレートするためにvimを使用してくださいless
。マクロがあり、less
Vimのカラースキームを使用します。
私のbashrcにこれを追加しました。
alias cless='/usr/share/vim/vim73/macros/less.sh'
後続/次を実行するには、次のことを許可するVimプラグインが必要です。たぶん試してみてください尾の束はめ込む。