OpenSUSE LEAP 15中systemd服务日志存储位置查询
OpenSUSE LEAP 15 systemd服务日志位置说明
service ... status的日志来源
service <servicename> status 输出的截断日志不直接读取独立的纯文本日志文件,数据来自systemd默认集成的journald日志服务采集的结构化运行日志。
日志默认存储位置
- 持久化存储的journal日志默认存放在
/var/log/journal/目录下,为二进制格式,无法直接通过文本编辑器打开查看 - 若未开启journal持久化配置,临时日志存放在内存路径
/run/log/journal/下,系统重启后会自动清除 - 若系统开启了rsyslog服务做兼容,全量系统日志会同步写入纯文本文件
/var/log/messages,但该文件混杂所有服务、内核的日志,排查单服务问题效率较低
查看服务完整日志的方法
直接使用journalctl命令查询即可,不需要手动找日志文件:
- 查看指定服务的全部历史日志:
journalctl -u <servicename>.service - 仅查看本次系统启动后该服务的日志(排查当前启动故障推荐用这个,过滤掉历史旧记录):
journalctl -u <servicename>.service -b - 实时跟踪服务最新输出日志:
journalctl -u <servicename>.service -f
查询时支持PageUp/PageDown翻页,方向键滚动,按q即可退出日志查看界面,输出不会像status命令一样默认截断最后10行,可以看到完整的Java异常栈信息。
补充:如果你自定义的service配置中手动设置了
StandardOutput/StandardError参数将输出重定向到了自定义文件路径,那么对应路径下会生成独立的纯文本日志,未配置该参数时服务所有标准输出、标准错误输出默认全部由journald采集。
内容的提问来源于stack exchange,提问作者mmo
相关产品推荐
相关产品推荐

