日食コンソールでログを色付け


105

日食コンソールでログの一部に色を付ける方法はありますか?エラーストリームと標準ストリームに送信して色を変えることができることはわかっていますが、ANSIエスケープコード(またはその他のHTML?)の行で、文字列に色を埋め込んで色を付けることができる場所を探しています。ログ。

これは、奇妙なレイアウトに頼らずに重要なビットを目立たせるのに役立ち、レイアウトをlog4j設定のままにします。

これが私が探しているものの例です:

[情報]グリッドが完成しました....... false

太字部分が青色になる場所では、この色付けはアプリケーションによってある程度制御できます。そうです(タグは概念的で恣意的ですが、あなたはアイデアを得ます):

log.info(String.format( "グリッドは完全です....... <blue>%s </blue>"、isComplete));


より一般的な注意は、メタ情報をログに埋め込んでこれらのログの表示を支援する機能です。CSSによる情報の提示に役立つようにWebページのコンテンツにタグを付けるのと同じです。


あなたが使用することができますMulticolorLayoutをからjcabiログ:ここで説明したように、stackoverflow.com/questions/7848325
yegor256

インターレスト!ANSI-Coloring、次にE​​clipseを起動したときに、それを確認する必要があります。ありがとう。JCabiについては、ロガーをコンテキスト化するのが好きで、クラス名と一致することはめったにないので、静的ラッパーがうまくいくとは思えません。ロガーの名前をインスタンスに動的に設定する必要があることがよくあります。これは、ログ情報をより効率的に使用できるためです。
ニュートピア2012

回答:


76

このEclipseプラグインを試してみてください:Grepコンソール

[更新]
コメント投稿者から指摘されたように、現在最後のバージョンのEclipseにGrepコンソールをインストールする場合、使用可能なアイテムを表示するには、[インストール]ダイアログで[カテゴリごとにアイテムをグループ化]をオフにする必要があります。@Line
によって指摘されたように、プラグインは、オプションを変更することなく、Eclipseマーケットプレイスを介して簡単にインストールできるようになりました。

[更新2]@azdev
指摘されているように、適切に強調表示するには:

リテラル文字列だけを入力しても機能しません。行に色を付けるには、次のように文字列を.* 両側で囲む必要があります 。 .*ERROR.*


3
プラグインは、最新のEclipse(Helios)で動作するようにシームしません。
ソリン

1
プラグインが活発に開発されていないことについての修正、私は作成者にいくつかの質問をし、数時間以内に返信を得ました!パターンに関しては、プラグインは正規表現をとるので、それを構成するときにいくつかの微調整と改ざんが予想されます。正規表現プラグインをインストールして、コンソールから抽出したコピーをコピーして試すことをお勧めします。一度設定すると、魅力的に機能します
ニュートピア

2
誰かがGrepコンソールのドキュメントを探している場合:marian.schedenig.name/wp-content/static/grepconsole_userguide
Danny

1
また、正規表現パターンに関するヘルプが必要な場合(このヘルプリンクはEclipseのGrepコンソールダイアログにも含まれています
ダニーブリス

1
最初に[更新]を削除することを検討してください-これで、マーケットプレイスから簡単にインストールできます。
ラインの

18

実際、ANSI Consoleプラグインは、EclipseコンソールにANSIエスケープコードサポートを追加します。現在のところ、制限があります。これにより、複数行にまたがるエスケープコードがスクロール時に他の行に誤ってリークします。問題#3を参照してください。

そうでなければ、この他の質問で説明されているようないくつかのターミナルビュープラグインは、いくつかのオプションかもしれません。


ウェブページmihai-nita.net/2013/06/03/eclipse-plugin-ansi-in-consoleを使用しました。コンソールでの完全な単純なansiサポート!
tutejszy 2014

9

@Benjaminがすでに指摘したように、Grep ConsoleはConsoleで出力を色分けするための優れた方法です。

どのように機能するかを説明する短いビデオを作成し、Grepコンソールプラグインの作成者から聞いた。彼はGrepコンソール3がリリースされたと述べました。

スクリーンキャストhttp : //www.youtube.com/watch?v=fXjgGZAxToc

サイトを更新

Grep Console 2
http://eclipse.musgit.com
(Eclipse 3.4(Ganymede)以降およびJava 5.0以降が必要)

Grepコンソール3
http://eclipse.schedenig.name
(Eclipse 3.7(Indigo)以降およびJava 6.0以降が必要)



4

私はGanymede Eclipseプラグインを使用しています。

http://sourceforge.net/projects/ganymede/

「chainsaw(SocketServer)と同様に機能するEclipseのlog4jプラグイン。色、フィルタリング、詳細情報を含み、設定を保存します。」


これは素晴らしいプラグインで、
ヨーロッパ

15
「ganymede」と呼ばれるEclipseプラグインがあると混乱するかもしれません。
JesperE 2010年

2

org.eclipse.ui.console.consolePatternMatchListeners拡張ポイントについて読んでください。


1
それはそれを行う正しい方法ですが、ポスターは誰かがansiエスケープシーケンスまたはhtmlカラーコードのためにこれをしたことを望んでいたと思います
aepurniet

1

すでにlog4jを使用している場合は、Apache Chainsaw(http://logging.apache.org/chainsaw/index.html)を試すことを検討してください。色とフィルターを定義し、(ほぼ)ゼロ構成で動作します。


私はずっと前に試しましたが、この場合私に役立つかどうかはわかりませんが、とても役に立ちました。行の色付けをより細かくできると思いますが、もっと欲しいです...明日試してみます。
2008年

1

以前このプラグインを使用したことがあるので、カスタマイズした正規表現に基づいてログの行を色分けできます。

たとえば、私がそれを使用していた場合、「エラー」という単語が含まれる行はすべて赤、警告はオレンジ、情報は青などになります。

正規表現なので、何でもできます。">>>"で始まる行は常に緑色になるように設定し、メッセージ文字列の先頭に ">>>"を追加します。

http://sourceforge.net/projects/logfiletools


1

EclipseのコンソールプラグインANSI Escapeを使用できます。これは、EclipseコンソールがANSIエスケープコードを解釈できるようにするために必要です。インストールしてEclipseを再起動します。次に、ANSIカラーコードを使用して特定の色で書き込むことができます。これは、別のstackoverflow回答からのANSIカラーコードのリストです。次に、これを行うことができます:

public static final String ANSI_RESET = "\u001B[0m";
public static final String ANSI_RED = "\u001B[31m";

public static void main(String[] args) {
    System.out.println(ANSI_RED + "This text is red!" + ANSI_RESET);
}

これを使用して、コンソールハンドラーのカスタムフォーマッターを作成し、Loggerからのログをさまざまな色でさまざまなレベルで表示します(INFOログはシアン、WARNINGログは黄色、SEVEREログは赤)。あなたが興味を持っているなら、これが私がそれをした方法です

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.