systemd 保存 golang 服务日志到指定文件

发布时间: 2021-04-07 15:55:58 作者: 大象笔记

需求场景

我想将 golang 打印的日志保持到指定日志文件,方便需要的时候进行查看。例如:

log.Println("some log")

而默认用 systemd 管理该服务的时候,是看不到日志输出的。

systemd 应用日志配置

每次重启都重置日志文件为空,重新写入:

StandardOutput=file:/var/my.log
StandardError=file:/var/my.log

保留所有日志历史,每次都 append:

StandardOutput=append:/var/my.log
StandardError=append:/var/my_err.log

使新配置生效

即重新加载 Unit 定义文件

sudo systemctl daemon-reload

重启服务

systemctl restart my.service

输出文件在哪里

注意,log 输出的文件在 my_err.log 文件中。

参考

我是一名山东烟台的开发者,联系作者