標記定位鍵分隔值 (LTSV) 格式是定位鍵分隔值 (TSV) 的變體。

LTSV 檔案中的每個記錄會以單線表示。每個欄位會以 <TAB> 分隔,且擁有標籤和值。標籤和值會以 : 分隔。藉由 LTSV 格式,您可以透過使用 <TAB> (與 TSV 格式相同) 分割行來剖析每一行,並使用唯一標籤延伸任意欄位 (無須按照特定順序)。如需有關 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 剖析器要求標籤名稱僅由英數字元、底線 (「_」)、圓點 (「.」)以及破折號 (「-」) 字元構成。如果記錄中至少存在一個無效標籤名稱,則其剖析將失敗。即使標籤名稱有效,代理程式仍會檢查欄位名稱。如果存在無效名稱,則應將標籤名稱修正為有效的欄位名稱。

filelog 區段設定 LTSV 剖析器

您也可以直接從 filelog 區段設定 LTSV 剖析器。

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