您在使用Logtail采集日志时,需要根据原始日志的时间字符串配置时间格式,Logtail会提取原始日志中的时间字符串并解析为Unix时间戳。本文介绍常见的时间格式及示例。
常见日志时间格式
Logtail支持的常见日志时间格式如下表所示。
默认情况下,日志服务中的日志时间戳精确到秒,所以时间格式只需配置到秒,无需配置毫秒、微秒等信息。
如果原始日志中的时间字段具备更高的时间精度(毫秒、微秒或纳秒),并希望在日志服务中保留该时间精度,请参见Logtail日志采集支持纳秒精度时间戳。
只需为时间字符串中的时间部分配置时间格式,其他内容(例如时区)无需配置。
在Linux服务器中,Logtail支持strftime函数提供的所有时间格式。即能被strftime函数格式化的日志时间字符串都能被Logtail解析并使用。
时间格式 | 说明 | 示例 |
%a | 星期的缩写。 | Fri |
%A | 星期的全称。 | Friday |
%b | 月份的缩写。 | Jan |
%B | 月份的全称。 | January |
%d | 每月第几天,十进制,范围为01~31。 | 07, 31 |
%f | 秒的小数部分(毫秒、微秒或纳秒) | 123 |
%h | 月份的缩写,等同于%b。 | Jan |
%H | 小时,24小时制。 | 22 |
%I | 小时,12小时制。 | 11 |
%m | 月份,十进制,范围为01~12。 | 08 |
%M | 分钟,十进制,范围为00~59。 | 59 |
%n | 换行符。 | 换行符 |
%p | AM或PM。 | AM、PM |
%r | 12小时制的时间组合,等同于%I:%M:%S %p。 | 11:59:59 AM |
%R | 小时和分钟组合,等同于%H:%M。 | 23:59 |
%S | 秒数,十进制,范围为00~59。 | 59 |
%t | Tab符号,制表符。 | 无 |
%y | 年份,十进制,不带世纪,范围为00~99。 | 04、98 |
%Y | 年份,十进制。 | 2004、1998 |
%C | 世纪,十进制,范围为00~99。 | 16 |
%e | 每月第几天,十进制,范围为1~31。 如果是个位数字,前面需要加空格。 | 7、31 |
%j | 一年中的天数,十进制,范围为001~366。 | 365 |
%u | 星期几,十进制,范围为1~7,1表示周一。 | 2 |
%U | 每年的第几周,星期天是一周的开始,范围为00~53。 | 23 |
%V | 每年的第几周,星期一是一周的开始,范围为01~53。 如果一月份刚开始的一周>=4天,则认为是第1周,否则认为下一个星期是第1周。 | 24 |
%w | 星期几,十进制,范围为0~6,0代表周日。 | 5 |
%W | 每年的第几周,星期一是一周的开始,范围为00~53。 | 23 |
%c | 标准的日期和时间。 | Tue Nov 20 14:12:58 2020 |
%x | 标准的日期,不带时间。 | 08/19/2020 |
%X | 标准的时间,不带日期。 | 11:59:59 |
%s | Unix时间戳。 | 1476187251 |
示例
常见的时间标准、示例及对应的时间表达式如下所示。
示例 | 时间表达式 | 时间标准 |
2017-12-11 15:05:07 | %Y-%m-%d %H:%M:%S | 自定义 |
2017-12-11 15:05:07.123 | %Y-%m-%d %H:%M:%S.%f | 自定义 |
[2017-12-11 15:05:07.012] | [%Y-%m-%d %H:%M:%S] | 自定义 |
02 Jan 06 15:04 MST | %d %b %y %H:%M | RFC822 |
02 Jan 06 15:04 -0700 | %d %b %y %H:%M | RFC822Z |
Monday, 02-Jan-06 15:04:05 MST | %A, %d-%b-%y %H:%M:%S | RFC850 |
Mon, 02 Jan 2006 15:04:05 MST | %A, %d %b %Y %H:%M:%S | RFC1123 |
2006-01-02T15:04:05Z07:00 | %Y-%m-%dT%H:%M:%S | RFC3339 |
2006-01-02T15:04:05.999999999Z07:00 | %Y-%m-%dT%H:%M:%S | RFC3339Nano |
1637843406 | %s | 自定义 |
1637843406123 | %s | 自定义(日志服务以秒级精度处理) |