时间格式

您在使用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

自定义(日志服务以秒级精度处理)