LogProcessor

LogProcessorはシステムログやプログラム出力テキスト(デバッグ出力等)を体系的に編集・加工するツールです。

LogProcessor

はじめに

システムログやプログラムのデバッグログ等はある程度フォーマット化された数種類のメッセージが時系列的に羅列されている為、 そのままの表示では煩雑になり解析に時間を費やすこととなる。

このプログラムではログの必要な部分をピックアップして体系的な編集加工の上、CSV形式ファイルに出力することができる。

編集に際してはログファイルを確認しながら編集方法(レシピ)を作成しする。

適用例

概要

LogProcessor

LogProcessor起動

java -jar LogProcessor.jar ログファイル文字コード ログファイル最大読込件数

ログファイル文字コード:MS932(省略時)、SJISUTF-8 が指定可能

ログファイル最大読込件数:省略時5,000件

  件数が多くなると処理が重たくなる為レシピ作成に必要な件数を設定

  結果ファイル出力時はこの制限に関わらず全ログデータを処理する

起動直後の画面

起動直後の画面

レシピが無いので空の画面が出る。

ファイルメニューより「新規レシピ」または「レシピ読込」を選ぶ。

画面の説明

画面の説明

レシピ層タブ・・レシピ定義層を選んで操作

 変更されているレシピ層にはタイトルの先頭に「*」を付加。

 右クリック・メニュー「レシピ層変更」でレシピ層名の変更。

 「レシピ層削除」でレシピ層を削除。

②ログ表示域・・親レシピ層の定義に沿った(フィルタリング)表示がされる
 (ファイルメニュー・「ログファイルの読込」が必要)

③情報域・・マスク文字列およびログ表示域上のカーソル位置を表示

④レシピ設定域・・各レシピタイプに応じた定義項目で展開される

「ファイル」メニュー・・レシピ/ログファイル等の操作

「編集」メニュー・・「元に戻す」「検索」操作。

レシピについて

ログから必要な部分のデータを拾い集める為の定義。

レシピは階層式で構築する。それぞれ親レシピが指定でき二次・三次加工が可能。

レシピタイプとして以下の3種類がある。

レシピ階層について

ログは時系列で発生する事象についての情報を複数行に渡って記録されている為、 目視やプログラムでの解析を行う際の障害となる。

LogProcessorではそのログを見やすく(プログラムで処理しやすく)するフラットCSV形式に加工する事が出来る。 そのために階層式にレシピ定義を与える必要が有る。

以下はある商店の仕入れ・売上実績を処理するプログラムが出力したログで、 レシピ階層にイメージしている。

レシピ階層イメージ

日セグメント層では月セグメント層を親レシピ層と定義することで「月」を認識することができる。