- Home
- LogProcessor
LogProcessorはシステムログやプログラム出力テキスト(デバッグ出力等)を体系的に編集・加工するツールです。
システムログやプログラムのデバッグログ等はある程度フォーマット化された数種類のメッセージが時系列的に羅列されている為、 そのままの表示では煩雑になり解析に時間を費やすこととなる。
このプログラムではログの必要な部分をピックアップして体系的な編集加工の上、CSV形式ファイルに出力することができる。
編集に際してはログファイルを確認しながら編集方法(レシピ)を作成しする。
ページを意識した相対位置のテキストを拾いながら出力ファイルを編集
日々コンピュータシステムから発行される帳票のExcel等への転記作業自動化などに便利
ログ内容を確認しながらレシピを作成し、レシピファイルとして保存。
加工結果をCSVファイルで作成。
ログファイルとレシピファイルを指定し実行することでCSVファイルを作成。
java -jar LogProcessor.jar ログファイル文字コード ログファイル最大読込件数
ログファイル文字コード:MS932(省略時)、SJIS、UTF-8 が指定可能
ログファイル最大読込件数:省略時5,000件
件数が多くなると処理が重たくなる為レシピ作成に必要な件数を設定
結果ファイル出力時はこの制限に関わらず全ログデータを処理する
レシピが無いので空の画面が出る。
ファイルメニューより「新規レシピ」または「レシピ読込」を選ぶ。
①レシピ層タブ・・レシピ定義層を選んで操作
変更されているレシピ層にはタイトルの先頭に「*」を付加。
右クリック・メニュー「レシピ層変更」でレシピ層名の変更。
「レシピ層削除」でレシピ層を削除。
②ログ表示域・・親レシピ層の定義に沿った(フィルタリング)表示がされる
(ファイルメニュー・「ログファイルの読込」が必要)
③情報域・・マスク文字列およびログ表示域上のカーソル位置を表示
④レシピ設定域・・各レシピタイプに応じた定義項目で展開される
「ファイル」メニュー・・レシピ/ログファイル等の操作
「編集」メニュー・・「元に戻す」「検索」操作。
ログから必要な部分のデータを拾い集める為の定義。
レシピは階層式で構築する。それぞれ親レシピが指定でき二次・三次加工が可能。
レシピタイプとして以下の3種類がある。
ログを任意の文字列で区切りグループ分け、データ抽出を定義する
必要な行を特定しデータ抽出を定義
親レシピを含めて拾われている項目の順番・選択を指定し、出力CSVファイルのレイアウトを定義する
ログは時系列で発生する事象についての情報を複数行に渡って記録されている為、 目視やプログラムでの解析を行う際の障害となる。
LogProcessorではそのログを見やすく(プログラムで処理しやすく)するフラットCSV形式に加工する事が出来る。 そのために階層式にレシピ定義を与える必要が有る。
以下はある商店の仕入れ・売上実績を処理するプログラムが出力したログで、 レシピ階層にイメージしている。
月単位処理が出力している「<functionA>」を区切りテキストパターンとして月毎のログセグメントとする
セグメントレシピで定義
日単位処理が出力している「<functionB>」を区切りテキストパターンとして日毎のログセグメントとする
セグメントレシピで定義
明細処理が出力している「<functionC>」を区切りテキストパターンとして明細行とする
行レシピで定義
日セグメント層では月セグメント層を親レシピ層と定義することで「月」を認識することができる。