-
Notifications
You must be signed in to change notification settings - Fork 255
[date]Transformer
Sun Jianbo edited this page Apr 20, 2018
·
6 revisions
可以在Parser后使用,针对key指定的字段做时间的转换。
配置如下:
{
"type":"date",
"key":"DateFieldKey",
"offset":0,
"time_layout_before":"",
"time_layout_after":"2006-01-02T15:04:05Z07:00"
}
该功能可以对指定的key
转换为指定的时间格式,这个key
里面存的实际值可以是一个字符串,也可以是一个timestamp数字。
也可以对时间进行变换,如解析的时间没有带时区,被默认作为了UTC时间,但是又想变换为东八区时间,这样就只要在Offset处设置为-8
即可。
-
time_layout_before
字段可以设置自己的时间类型的样式,在你的数据无法自动解析的情况下,可以通过这个参数设置。默认情况下无需填写,系统会自动解析。 -
time_layout_after
字段可以设置解析后的时间,Pandora接受的时间类型(date)类型本质上是RFC3339的字符串,所以此处如果不填,默认转为RFC3339的字符串,也可根据需要转为其他样式。 -
key
字段支持多级嵌套,多级间用.
符号连接,如abc.xyz
,表示 data["abc"]["xyz"]中的数据。
时间格式的写法符合golang的时间格式定义方法,具体参见 https://golang.org/pkg/time/#pkg-constants
类似如下。
ANSIC = "Mon Jan _2 15:04:05 2006"
UnixDate = "Mon Jan _2 15:04:05 MST 2006"
RubyDate = "Mon Jan 02 15:04:05 -0700 2006"
RFC822 = "02 Jan 06 15:04 MST"
RFC822Z = "02 Jan 06 15:04 -0700" // RFC822 with numeric zone
RFC850 = "Monday, 02-Jan-06 15:04:05 MST"
RFC1123 = "Mon, 02 Jan 2006 15:04:05 MST"
RFC1123Z = "Mon, 02 Jan 2006 15:04:05 -0700" // RFC1123 with numeric zone
RFC3339 = "2006-01-02T15:04:05Z07:00"
RFC3339Nano = "2006-01-02T15:04:05.999999999Z07:00"
Kitchen = "3:04PM"
// Handy time stamps.
Stamp = "Jan _2 15:04:05"
StampMilli = "Jan _2 15:04:05.000"
StampMicro = "Jan _2 15:04:05.000000"
StampNano = "Jan _2 15:04:05.000000000"
简单来说,年份
必须是2006
,月份
必须是1
或者Jan
,日
必须是2
, 时
必须是3
(两位数必须是15
,一位数时后面要跟PM
,类似Kitchen 的描述),分
必须是4
,秒
必须是5
,时区必须是+7
。比如比如RFC3339的格式定义为2006-01-02T15:04:05+07:00
,又或者我们自己定义一个简单版的时间 2006|01|02|03|04|05
,年月日时分秒分别用竖线|
分隔,假设当前时间为2017年6月6日20时38分12秒,则按我们定义的格式显示为 2017|06|06|20|38|12
。
一份带有date Transformer的完整配置类似如下:
{
"name":"test2.csv",
"reader":{
"log_path":"./tests/logdir",
"mode":"dir"
},
"parser":{
"name":"jsonps",
"type":"json"
},
"transforms":[{
"type":"date",
"key":"status",
"offset":0,
"time_layout_before":"",
"time_layout_after":"2006-01-02T15:04:05Z07:00"
}],
"senders":[{
"name":"file_sender",
"sender_type":"file",
"file_send_path":"./test2/test2_csv_file.txt"
}]
}
快速开始 | Pandora | Readers | Parsers | Senders | Download | 七牛智能日志管理平台 | logkit-pro专业版