ラベル付きタブ区切り値 (LTSV) 形式は、タブ区切り値 (TSV) のバリアントです。

LTSV ファイル内の各レコードは 1 行で表されています。各フィールドは <TAB> で区切られていて、ラベルおよび値が含まれています。ラベルおよび値は : で区切られています。LTSV 形式を使用すると、(TSV 形式と同じように)<TAB> で各行を分割して解析し、一意のラベルの付いた任意のフィールドを任意の順序で拡張できます。LTSV の定義および形式の詳細については、http://ltsv.org/ を参照してください。

LTSV パーサの構成

LTSV パーサでは、特定の構成オプションを指定する必要がありません。LTSV パーサを使用するには、構成内で組み込み ltsv パーサの名前を指定します。
[parser|myltsv]
base_parser=ltsv
LTSV ファイルは、ABNF 形式の LTSV 本番環境に対応するバイト シーケンスである必要があります。
ltsv = *(record NL) [record]
record = [field *(TAB field)]
field = label ":" field-value
label = 1*lbyte
field-value = *fbyte

TAB = %x09
NL = [%x0D] %x0A
lbyte = %x30-39 / %x41-5A / %x61-7A / "_" / "." / "-" ;; [0-9A-Za-z_.-]
fbyte = %x01-08 / %x0B / %x0C / %x0E-FF
host:127.0.0.1<TAB>ident:-<TAB>user:frank<TAB>time:[10/Oct/2000:13:55:36 -0700]<TAB>req:GET /apache_pb.gif HTTP/1.0<TAB>status:200<TAB>size:2326<TAB>referer:http://www.example.com/start.html<TAB>ua:Mozilla/4.08 [en] (Win98; I ;Nav)
LTSV の構成例では、ログの解析によって次のフィールドが返されます。
host=127.0.0.1
ident=-
user=frank
time=[10/Oct/2000:13:55:36 -0700]
req=GET /apache_pb.gif HTTP/1.0
status=200
size=2326
referer=http://www.example.com/start.html
ua=Mozilla/4.08 [en] (Win98; I ;Nav)

構成のデバッグ

LTSV パーサに追加のデバッグを行うこともできます。デフォルトでは、LTSV デバッグは無効です。LTSV デバッグを有効にするには、debug=yes を入力します。

[parser|myltsv]
base_parser=ltsv
debug=yes

デバッグが有効な場合、LTSV パーサはログからすべての有効なラベルの値を抽出します。LTSV パーサでは、ラベル名を英数字、アンダースコア ('_")、ピリオド ('.')、およびダッシュ ('-') 文字のみで構成する必要があります。ログ内に無効なラベル名が 1 つ以上存在する場合、解析は失敗します。ラベル名が有効な場合でも、エージェントはフィールド名を確認します。無効な名前が存在する場合は、ラベル名を有効なフィールド名に修正する必要があります。

filelog セクションからの LTSV パーサの構成

LTSV パーサは filelog セクションから直接構成することもできます。

[filelog|simple_logs]
directory=/var/log
include=*
parser=ltsv