日志服务要求每条日志必须具有时间属性,以便系统按时间维度对数据进行管理。当使用 Loglistener 采集日志时,时间属性有两种配置方式:
默认方式:使用 Loglistener 采集时间作为时间属性。
自定义方式:将日志内容中的某个时间字段作为时间属性,需要用户配置时间解析格式。
说明:
Loglistener 采集时间精度为毫秒,所以时间解析格式支持配置到毫秒,按格式配置后不到毫秒级的会自动使用0填充。
解析格式说明
参数格式 | 说明 | 示例 |
%a | 星期英文单词名称的简写 | Fri |
%A | 星期英文单词名称的全称 | Friday |
%b | 月份英文单词名称的简写 | Jan |
%B | 月份英文单词名称的全称 | January |
%d | 一个月中的第几天(01 - 31) | 31 |
%h | 月份英文单词名称的简写,与 %b 相同 | Jan |
%H | 小时,24小时制(00 - 23) | 22 |
%I | 小时,12小时制(01 - 12) | 11 |
%m | 月份(01 - 12),01表示一月份 | 08 |
%M | 分钟(00 - 59),01表示第一分钟 | 59 |
%n | 换行符 | 换行符 |
%p | 上午(AM)或下午(PM) | AM/PM |
%r | 一种特定的12小时制时间组合格式,等价于 %I:%M:%S %p | 11:59:59 AM |
%R | 一种特定的24小时时间组合格式,等价于 %H:%M | 23:59 |
%S | 秒数(00 - 59) | 59 |
%f | 毫秒时间 | 0.123 |
%t | tab 制表符 | tab 制表符 |
%y | 不包含世纪的年份数字(00 - 99) | 19 |
%Y | 包含世纪的年份数字,2018表示2018年 | 2019 |
%C | 世纪数字(年份除100,范围00 - 99) | 20 |
%e | 一个月中的第几天(01 - 31) | 31 |
%j | 一年中的第几天(001 - 366) | 365 |
%u | 星期数字的表示方式(1 - 7),1表示星期一,7表示星期天 | 1 |
%U | 一年中的第几周(00 - 53),星期天是一周的开始,即从第一个星期日开始,作为第一周的第一天 | 23 |
%w | 星期数字的表示方式(0 - 6),0代表星期天,6表示星期六 | 5 |
%W | 一年中的第几周(00 - 53),星期一是一周的开始,即从第一个星期一开始,作为第一周的第一天 | 23 |
%s | 秒级(10位)Unix 时间戳 | 1571394459 |
%F | 毫秒级(13位)Unix 时间戳(需要 loglistener 2.6.4 及以上版本) | 1571394459123 |
%q | 微秒级(16位)Unix 时间戳(需要 loglistener 2.8.4 及以上版本) | 1571394459123456 |
%z | 支持时间字段的时区解析,包括 ISO 8601 时间格式和 GMT 时间格式 | UTC/+0800/MST |
配置示例
时间表示示例 | 时间提取格式 |
2018-07-16 13:12:57.123 | %Y-%m-%d %H:%M:%S.%f |
[2018-07-16 13:12:57.012] | [%Y-%m-%d %H:%M:%S.%f] |
06/Aug/2019 12:12:19 | %d/%b/%Y %H:%M:%S |
Monday, 02-Oct-19 16:07:05 | %A, %d-%b-%y %H:%M:%S |
1571394459 | %s |
1571394459123 | %F |
06/Aug/2019 12:12:19 +0800 | %d/%b/%Y %H:%M:%S %z |
Monday, 02-Oct-19 16:07:05 MST | %A, %d-%b-%y %H:%M:%S %z |