需求场景
我想将 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 文件中。
参考
- https://stackoverflow.com/questions/37585758/how-to-redirect-output-of-systemd-service-to-a-file
- 利用 systemd 部署 golang 项目 https://learnku.com/articles/34025
微信关注我哦 👍
我是来自山东烟台的一名开发者,有感兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式