Thanks to visit codestin.com
Credit goes to scenario-test-framework.github.io

大容量のログファイルから
必要な「ログイベント」を抽出

期間やログレベル、文言などの条件を指定して抽出できます。
Go製のシングルバイナリで、JREなどのランタイムは不要です。

Time Filter

開始時刻だけ、終了時刻だけ、開始・終了時刻の両方 を指定してログイベントを抽出できます。

LogLever Filter

WARN, ERROR, FATAL など、ログレベルのリスト を指定してログイベントを抽出できます。

Content Filter

機能名やイベント名、メッセージ文言など、固定のメッセージ を指定してログイベントを抽出できます。

Regex Filter

機能名やイベント名、メッセージ文言などのパターンを 正規表現で指定してログイベントを抽出できます。

Apache Access Log

apache httpdデフォルトフォーマットのログファイルから抽出できます。

Start with timestamp

タイムスタンプで始まるフォーマットのログファイルから抽出できます。

Download

最新版はこのリンクからダウンロードできます。

Download

Getting Started

デプロイ

シングルバイナリなので、解凍して配置するだけで利用できます。

# 展開して、PATHの通ったディレクトリに配置
tar xvfz ./logfilter_*.tar.gz
mv ./logfilter_*/logfilter /usr/local/bin/

Dockerでも実行できます。

docker pull ghcr.io/scenario-test-framework/logfilter:latest

実行

ここでは、抽出開始時刻を指定して実行してみます。詳細な起動方法はヘルプを参照して下さい。

# アクセスログの 2017/01/01 00:00:00 以降のログイベントを /tmp に出力
logfilter -tf "2017-01-01 00:00:00" /path/to/access_log /tmp/filtered_access_log

# helpを表示
logfilter -h

# Dockerの場合
docker run --rm -u "$(id -u):$(id -g)" -e TZ=Asia/Tokyo -v "$PWD:/work" \
    ghcr.io/scenario-test-framework/logfilter:latest \
    -tf "2017-01-01 00:00:00" /work/access_log /work/filtered_access_log