正如日志服务
核心概念 中所描述,每条日志服务日志都必须包括该日志发生的时间戳信息。Logtail接入服务在采集用户日志文件中的日志数据,必须提取该条日志中时间戳字符串并把它解析为时间戳。因此,Logtail需要您指定其日志的时间戳格式帮助解析。
Linux平台下的Logtail支持
strftime 函数 提供的所有时间格式。只需要您的日志时间戳字符串能够被该函数定义的日志格式所表达,即可以被Logtail解析并使用。
现实环境中的日志时间戳字符串格式非常多样化,为方便用户配置,Logtail支持的常见日志时间格式如下:
支持格式 | 格式意义 | 示例(说明) |
%a | 星期缩写 | 例如:Fri |
%A | 星期全称 | 例如:Friday |
%b | 月份缩写 | 例如:Jan |
%B | 月份全称 | 例如:January |
%d | 十进制表示的每月第几天 [01,31] | 例如:07, 31 |
%h | 月份缩写,同 (%b) | 例如:Jan |
%H | 24小时制的小时 | 例如:22 |
%I | 12小时制的小时 | 例如:11 |
%m | 十进制表示的月份 | 例如: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符 | TAB符 |
%y | 不带世纪的十进制年份 [00,99] | 例如:04,98 |
%Y | 十进制年份 | 例如:2004,1998 |
%z | 时区或者缩写 | 例如:-07:00, +0800 |
%C | 十进制世纪 [00-99] | 例如:16 |
%e | 十进制表示的每月第几天 [1,31]; 单独的数字前面需要有空格 | 例如:7, 31 |
%j | 一年天数的十进制表示 [001,366] | 例如:365 |
%u | 星期的十进制表示 [1,7], 1 代表周一 | 例如:2 |
%U | 每年的第几周(星期天认为是一周的开始) [00,53] | 例如:23 |
%V | 每年的第几周(星期一认为是一周的开始),如果一月份刚开始的一周>=4天,则认为是第1周,否则认为下一个星期一是第1周 [01,53] | 例如:24 |
%w | 星期的十进制表示 [0,6], 0 代表周日 | 例如:5 |
%W | 每年的第几周(星期一认为是一周的开始) [00,53] | 例如:23 |
%c | 标准的日期、时间表示 | 需要指定长日期、短日期等更多信息,可以考虑用上面支持的格式更精确表达 |
%x | 标准的日期表示 | 需要指定长日期、短日期等更多信息,可以考虑用上面支持的格式更精确表达 |
%X | 标准的时间表示 | 需要指定长日期、短日期等更多信息,可以考虑用上面支持的格式更精确表达 |
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
在Linux平台下,Logtail支持使用strftime
函数定义的所有时间格式来解析日志中的时间戳信息。这意味着您的日志文件中时间戳的表示需符合这些格式之一,以确保Logtail能够正确识别并转换为时间戳数据。以下是一些Logtail支持的常见时间格式示例及其意义:
%a
: 星期缩写,如Fri%A
: 星期全称,如Friday%b
: 月份缩写,如Jan%B
: 月份全称,如January%d
: 每月第几天(十进制),范围[01,31],如07, 31%h
: 与%b
相同,月份缩写%H
: 24小时制的小时,如22%I
: 12小时制的小时,如11%m
: 十进制表示的月份,如08%M
: 十进制表示的分钟数,范围[00,59],如59%n
: 换行符%p
: 本地AM/PM标记,如AM/PM%r
: 12小时制的时间组合,如11:59:59 AM%R
: 小时和分钟组合,如23:59%S
: 十进制的秒数,范围[00,59],如59%t
: TAB字符%y
: 不带世纪的年份(两位数),范围[00,99],如04, 98%Y
: 十进制年份,如2004, 1998%z
: 时区或其缩写,如-07:00, 0800%C
: 十进制世纪,范围[00-99],如16%e
: 同%d
,但单个数字前有空格%j
: 一年中的天数(十进制),范围[001,366],如365%u
: 星期的十进制表示,1代表周一%U
: 每年的第几周(周日开始),范围[00,53]%V
: 每年的第几周(周一开始),考虑一月第一周的天数定义%w
: 星期的十进制表示,0代表周日%W
: 同%U
%c
, %x
, %X
: 标准日期、时间和日期+时间的表示,建议直接用具体格式替代%s
: Unix时间戳,如1476187251为了配置Logtail以正确解析日志时间戳,请根据您日志文件中实际的时间格式字符串,选择合适的上述格式进行匹配,并在创建Logtail采集配置时指定正确的日期时间格式字段,以确保日志服务能准确处理时间信息。