Plainnotes

日志时间戳请统一用 UTC

2025-04-09 · 2 分钟工具

服务器在多时区,日志里有 UTC、有 CST、有没带时区的本地时间。排一次跨服务的问题,光对齐时间就花了半小时。

约定很简单:**存储用 UTC,展示用本地**。日志里写 ISO 8601 带 Z 或 +00:00,看的时候由工具转换。

2026-04-09T03:12:44Z  level=error  ...

好处:排序即时间序、跨时区不用心算、夏令时切换不会出现重复或缺失的一小时。

代价是看日志时要在脑子里减 8 小时——但可以在 journalctl 里用 --utc,或者终端里设 TZ=UTC,习惯之后反而更省事。

数据库也要注意:timestamp with time zone 和 timestamp 是两种类型,前者存 UTC,后者存“墙上时间”,混用必出问题。