Golang 开机自启后无法打印日志:如何解决“只读文件系统”错误?

Golang 开机自启后无法打印日志:如何解决“只读文件系统”错误?

golang 使用 github.com/kardianos/service 开机自启后无法打印日志:原因及解决方法

问题描述:

使用 github.com/kardianos/service 库设置 golang 项目为系统服务并实现开机自启后,发现无法再打印日志,系统日志报错提示 “read-only file system”。

问题分析及解决:

立即学习go语言免费学习笔记(深入)”;

经检查,报错日志中提到的 ./run.log 路径可能存在问题。报错信息表明该路径所在位置为只读方式挂载,与程序或目录的权限设置无关。

解决办法:

尝试将 ./run.log 路径改为绝对路径,指向可写的位置,如 /var/log/run.log。

代码示例:

import (     "fmt"     "log"     "os"     "path/filepath" )  func mAIn() {     // 设置日志文件路径     logPath := filepath.Join("/var/log", "run.log")     f, err := os.OpenFile(logPath, os.O_APPEND|os.O_WRONLY|os.O_CREATE, 0644)     if err != nil {         log.Fatalf("Error opening log file: %v", err)     }     defer f.Close()      // 设置输出流     log.SetOutput(f)     fmt.Println("This message will be printed to the log file") }
登录后复制

© 版权声明
THE END
喜欢就支持一下吧
点赞13 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容