您在使用Logtail采集日志时,需要根据原始日志的时间字符串配置时间格式,Logtail会提取原始日志中的时间字符串并解析为Unix时间戳。本文介绍常见的时间格式及示例。

常见日志时间格式

Logtail支持的常见日志时间格式如下表所示。
说明
  • 日志服务中的日志时间戳精确到秒,所以时间格式只需配置到秒,无需配置毫秒、微秒等信息。
  • 只需为时间字符串中的时间部分配置时间格式,其他内容(例如时区)无需配置。
  • 在Linux服务器中,Logtail支持strftime函数提供的所有时间格式。即能被strftime函数格式化的日志时间字符串都能被Logtail解析并使用。
时间格式 说明 示例
%a 星期的缩写。 Fri
%A 星期的全称。 Friday
%b 月份的缩写。 Jan
%B 月份的全称。 January
%d 每月第几天,十进制,范围为01~31。 07, 31
%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 标准的日期,不带时间。 Tue Nov 20 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.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 自定义(日志服务以秒级精度处理)