Openclaw 打印log时间异常问题处理
摘要: OpenClaw日志显示时间比北京时间慢8小时,因Node.js未继承TZ环境变量而默认使用UTC时区。解决方案: 临时修复:执行export TZ=Asia/Shanghai后重启服务; 永久修复:将export TZ=Asia/Shanghai加入~/.bashrc并重启服务。验证日志时间戳是否与本地时间一致。其他时区需替换相应IANA时区名称(如America/New_York)。
🛠️ OpenClaw 日志时区异常(慢8小时)快速修复指南
📋 问题现象
在使用 openclaw logs --follow 查看运行日志时,发现打印的时间戳比当前北京时间慢 8 小时(即显示为 UTC 时间),而系统本身的 date 命令时间却是正确的。
🔍 根因分析
OpenClaw 基于 Node.js 运行。在某些 Linux 环境(特别是通过脚本或特定终端启动时),如果进程未继承到 TZ (Time Zone) 环境变量,Node.js 会默认回退到 UTC 时区,导致日志时间与实际本地时间不符。
✅ 解决方案
第一步:验证环境变量
在终端执行以下命令,检查是否已设置时区变量:
echo $TZ
- 若输出为空:说明未设置,确认为此问题导致。
- 若输出 Asia/Shanghai:请检查其他配置,通常此情况少见。
第二步:临时修复(立即生效)
在当前终端会话中导出时区变量,然后重启服务或查看日志:
export TZ=Asia/Shanghai
#重新运行查看日志命令
openclaw logs --follow
注:此方法仅对当前终端窗口有效,关闭窗口后失效。
第三步:永久修复(推荐)
将时区配置写入用户配置文件,确保每次登录或启动服务时自动生效。
- 追加配置到 .bashrc:
echo 'export TZ=Asia/Shanghai' >> ~/.bashrc
- 刷新配置使其立即生效:
source ~/.bashrc
- 重启 OpenClaw 服务:
如果您是通过 systemd 或后台进程运行的,请重启服务以加载新的环境变量:
# 示例:如果是 systemd 服务
sudo systemctl restart openclaw
🧪 验证结果
再次运行 openclaw logs --follow 并触发一条新消息,观察日志时间戳是否与当前手机/电脑时间一致。
💡 小贴士 TZ=Asia/Shanghai 代表东八区(北京时间)。如果您身处其他时区,请替换为对应的 IANA 时区名称(如
America/New_York)
更多推荐


所有评论(0)