gpt4 book ai didi

sorting - 可排序、可读且标准的日志时间格式

转载 作者:行者123 更新时间:2023-12-02 20:48:22 24 4
gpt4 key购买 nike

日志中的时间戳格式

大多数日志行包含时间戳和事件描述:

[When] [What]

例如:

[23/Jul/2013:19:35:11 +0000] Processing started.
[23/Jul/2013:19:36:11 +0000] Processed 1000 items.
[23/Jul/2013:19:37:11 +0000] Processing finished successfully.

我正在尝试为我的日志行找到标准时间戳。我的标准是:

  1. 人类可读。我想轻松了解事件发生的时间。
  2. 按字母顺序排序。当我从几个文件中 grep 事件并使用 POSIX sort 甚至 word/excel 对它们进行排序时,我希望字母顺序排序遵循时间顺序排序。例如,[23/Jul/2012:19:35:11 +0000][22/Jul/2013:19:35:11 +0000] 不是可排序 - 2013 年行将出现在 2012 年行之前。
  3. 可轻松被所有常见语言解析。时间戳应该可以使用标准 strptime 轻松解析。如果日志是由脚本处理的。

到目前为止我发现的唯一标准是 ISO_8601 ,它有很多变体(例如 2007-04-05T14:30Z2007-03-01T13:00:00Z),并且缺乏日志行事件的明确标准。

您能为日志行推荐一个标准时间戳格式吗?

最佳答案

enter image description here

@J.F. Sebestian - 感谢您的评论。

经过一番研究,我选择了 RFC 3339 / ISO 8601 in UTC ,例如:

date -u "+[%Y-%m-%d %H:%M:%S%z (%Z)]"       # Space separated with tz abbreviation
[2013-07-31 23:56:34+0000 (UTC)]

date -u "+[%Y-%m-%d %H:%M:%S.%N %z (%Z)]" # Space separated with nanoseconds and tz abbreviation
[2013-07-31 23:56:34.812572000 +0000 (UTC)]

特点:

  • 可排序(最重要的日期项目位于左侧)
  • 可读
  • 明确,时区明确
  • [,] 分隔,对于重新调整日期很有用
  • 易于解析
  • 准确:使用纳秒(在某些机器上可能实际上是毫秒,这已经足够了)

我还创建了一个 nice github project that helps with date formatting - 请随意查看并建议您自己的格式!

关于sorting - 可排序、可读且标准的日志时间格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17819834/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com