在启用开机自启后,go 程序使用 hub.com/kardianos/service 打印日志失败
使用第三方库 github.com/kardianos/service 为 go 程序创建开机自启服务后,无法打印日志。系统日志显示以下报错信息:
logfile: open ./run.log: read-only file system 2021-07-14 11:02:02.260009 +0800 CST m=+0.665712760 write error: can't open new logfile: open ./run.log: read-only file system 2021-07-14 11:02:02.400718 +0800 CST m=+0.806416342 write error: can't open new logfile: open ./run.log: read-only file system 2021-07-14 11:02:02.886868 +0800 CST m=+1.292548622 write error: can't open new logfile: open ./run.log: read-only file system 2021-07-14 11:02:02.93952 +0800 CST m=+1.345198941 write error: can't open new logfile: open ./run.log: read-only file system
登录后复制
该错误提示指向文件 /run.log,表明该文件所在的路径是只读挂载的。与程序或目录的权限设置无关。
解决办法是将 /run.log 更改为其他位置,例如 /var/log/run.log。这将确保文件可以由程序写。
以上就是Go程序开机自启后日志打印失败,为何?的详细内容,更多请关注php中文网其它相关文章!