带标签的制表符分隔值 (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