supervisor没有捕获到golang日志输出

发布于 2022-09-12 04:13:01 字数 493 浏览 20 评论 0

supervisor配置

[supervisord]
http_port=/var/tmp/supervisor.sock
pidfile=/var/run/supervisord.pid
logfile=/var/log/supervisor/supervisord.log;

[program:golang-server]
directory=/data/wwwroot/
command=/data/wwwroot/golang-server
autostart=true
autorestart=true
stdout_logfile=/var/log/supervisor/golang-server.log
stderr_logfile=/var/log/supervisor/golang-server.log

日志文件里面没有任何东西。supervisord日志文件也没有;

服务运行状态正常。supervisor进程正常

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

一刻暧昧 2022-09-19 04:13:01

你是不是在你的代码里面,通过 logs 把日志给发往其它地方了.如果 logs 默认什么都不配置,就会输出到 stdout 和 stderr 如果你自己做了配置,比如发往 syslog ,日志服务器,kafka,以及文件什么的,那这边可能就没有输出了.

白日梦 2022-09-19 04:13:01

权限问题呢?线上遇到过好几次日志因为权限问题没法写入

咿呀咿呀哟 2022-09-19 04:13:01

如果你想标准输出和错误输出在一个文件,应该去掉stderr_logfile,新增redirect_stderr=true

不乱于心 2022-09-19 04:13:01

supervisord 捕获的是stdout和stderr 的io流。你的服务里面如果使用了fmt.Print 等,才会被supervisord 写入到指定的目录里面。

酒废 2022-09-19 04:13:01

赞同幽灵的观点,不设置的话程序输出默认在stdout和stderr,但是如果你在程序代码把日志定向到其他地方,这里肯定不能获取日志的

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文