LoginSignup
5
5

More than 5 years have passed since last update.

IntelliJのIdeologによるログファイルのハイライト

Last updated at Posted at 2018-06-06

Intellij IDEAにはデフォルトでログファイルをハイライトするIdeologというプラグインが入っています。こいつを使おうとしてもいまいち上手くいかなかったので、調査結果の簡単なまとめ。

基本的なコンセプトとしては、

  • ログのフォーマットを指定
  • ハイライトするパターンを指定

を設定することにより、ログを解析する。

設定

Editor -> Log Highlighting (Ideolog)

キャプチャ.PNG

  • Log formatsを変更しても、ファイルを開きなおすか編集するまで表示が更新されない場合がある。こんなくだらないことでハマったので注意。Patternsは反映される模様。
  • ログファイルとして認識されるのは、IntelliJのにLogとして登録されているタイプ。デフォルトでは*.logのみ。Editor -> File Typesから設定可能。

ログフォーマット

Enabled

そのフォーマットが有効かどうか。

Name

任意の名前

Message pattern

ログとして認識する正規表現。

Message start pattern

ログの開始を表す正規表現。パフォーマンス上の理由から使われる。

Time format

時刻のパターン。yyyy-MM-ddなど。

Time capture group

Message patternにおける、時刻の正規表現グループのインデックス。もし時刻を持たない場合、0を指定する。

Severity capture group

Message patternにおける、深刻さを表す正規表現グループのインデックス。一般的にはログレベル(INFOWARN)を指定? もし項目を持たない場合、0を指定。

Category capture group

Message patternにおける、ログのカテゴリーを表す正規表現グループのインデックス。もし項目を持たない場合、0を指定。ログファイルとソースコードのマッピングに使われるらしいが、『カテゴリー』ってなんだろう……。

パターン

Pattern

ハイライトを行う正規表現を指定する。この正規表現は大文字小文字を無視する(iフラグが指定された状態?)。この正規表現はMessage patternの各グループに対して評価される模様。もしログに設定されているいずれのMessage patternもマッチしなかった場合、デフォルトで行全体がマッチしたものとみなされる。そのためハイライトのパターンを適当に指定すると想定外の個所がハイライトされるので注意。

アクション

  • Highlight line - 行全体をハイライトする。
  • Highlight field - マッチしたグループをハイライトする。ここでいうグループはMessage patternにおけるグループである模様。
  • Highlight match - マッチした個所をハイライトする。Wikiには「currently not working」と記述あり。2012年と古い記述なので今ではどうかわからないが、実際試したところうまく動かなかった。

Show on stripe

スクロールバーの下に表示されるエラー行の表示に反映するかどうかの設定……のようなのだが、エラー以外では動作が確認できなかった。情報求む。

フィルター

正規表現にマッチした個所を隠す……らしいのだが^.*$を設定しても何も変化が起きなかった。調べても情報が全然出てこない。情報求む。

使い方

キャプチャ.PNG

デフォルトでパイプ区切りパターンが設定されているので、適当なログファイルをでっちあげてみたところ。パターンは手動で設定している(デフォルトでWARNがマッチしない!)。

パターンで設定した個所がハイライトされ、スクロールバーの下にエラー行が表示されているのが確認できる。

インテンション・アクションから様々な操作ができる。デフォルトのショートカットはalt + enter

Toggle time hilighting

時刻の表示をハイライトする。カーソルを時刻に合わせていないとメニューに表示されない。
キャプチャ.PNG
わざわざパターンまで指定したのだからもっと賢い機能があるのかと思いきや、そんなことはなかった。情報求む。

Show only line containing '...'

カーソル下の単語を含まない行を隠す。ユーザー名などでログを抽出するのに使える。
キャプチャ.PNG

Hide line containing '...'

カーソル下の単語を含む行を隠す。上記の逆。
キャプチャ.PNG

Hilight '...'

カーソル下の単語を含む行をハイライトする。
キャプチャ.PNG

Hilight this column

カーソル下のカラムをハイライトする機能……に思えるが、なぜか全体がハイライトされた。意味が分からない。
キャプチャ.PNG

Jump to source

ソースコードに移動する。移動先はMessage patternseverityおよびcategoryに基づいて推測されるらしい。どのように推測しているのかについては、ドキュメンテーションは発見できなかった。

まとめ

  • パターンによる色付けはなかなか実用的
  • それ以外は微妙
  • ドキュメンテーションは大事

参考文献

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5