在 Debian 里,“日志时间格式”取决于你用的是 哪套日志系统。常见有下面几种情况,我按最常见到最不常见来说明。
journalctl,Debian 9+ 默认)journalctl --since "2024-01-01 00:00:00" \
--until "2024-01-02 00:00:00" \
-o short-iso
常用输出格式:
short(默认)short-iso(ISO 时间)short-preciseverbosejournal 时间格式不能简单通过配置文件改成“自定义格式”,但你可以:
✅ 修改时区(影响显示时间)
timedatectl set-timezone Asia/Shanghai
✅ 用 journalctl -o 统一封装命令
例如:
alias jl='journalctl -o short-iso'
/var/log/ 日志)编辑:
/etc/rsyslog.conf
加入或修改:
$ActionFileDefaultTemplate RSYSLOG_FileFormat
或自定义模板:
template(name="MyFormat" type="string"
string="%timegenerated% %HOSTNAME% %syslogtag%%msg%\n")
$ActionFileDefaultTemplate MyFormat
时间格式由 strftime 控制,例如:
template(name="Custom" type="string"
string="%timegenerated:1:19:date-rfc3339% %HOSTNAME% %msg%\n")
重启:
systemctl restart rsyslog
无需改时间格式,只影响文件名:
/var/log/syslog
{
rotate 7
daily
missingok
notifempty
}
这些不归系统管,例如:
log_format main '$time_iso8601 $remote_addr ...';
{
"log-driver": "json-file",
"log-opts": {
"tag": "{{.Name}}"
}
}
date
timedatectl
改时区:
dpkg-reconfigure tzdata
| 日志类型 | 能否改时间格式 | 方法 |
|---|---|---|
| journalctl | ❌ 自定义 | -o 参数 |
| rsyslog | ✅ 可 | 模板 |
| 应用日志 | ✅ | 应用配置 |
| 时区 | ✅ | timedatectl |
如果你能告诉我:
journalctl 还是 /var/log2024-01-01 12:00:00)我可以直接给你可复制的配置。