我正在使用 Go。我想創(chuàng)建一個名為webapp的日志文件.log當我運行去運行主.go。但是,當我運行 go run main.go 時,消息出現(xiàn)在終端中,并且不會創(chuàng)建日志文件。我無法從消息中看出哪個位置導致無法創(chuàng)建日志文件。如果有人可以幫助我,請告訴我。主要.go"2021/09/25 14:58:55 open : no such file or directory" package mainimport ( "fmt" "golang_todo_app/config" "log")func main() { fmt.Println(config.Config.Port) fmt.Println(config.Config.SQLDriver) fmt.Println(config.Config.DbName) fmt.Println(config.Config.LogFile) log.Println("test")}配置/配置。package configimport ( "golang_todo_app/utils" "log" "gopkg.in/go-ini/ini.v1")type ConfigList struct { Port string SQLDriver string DbName string LogFile string}var Config ConfigListfunc init () { LoadConfig() utils.LoggingSettings(Config.LogFile)}func LoadConfig() { cfg, err := ini.Load("config.ini") if err != nil { log.Fatalln() } Config = ConfigList{ Port: cfg.Section("web").Key("port").MustString("8080"), SQLDriver: cfg.Section("db").Key("driver").String(), DbName: cfg.Section("db").Key("name").String(), LogFile: cfg.Section("web").Key("logfile").String(), }}utils/logging.gopackage utilsimport ( "io" "log" "os")func LoggingSettings(logFile string) { logfile, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { log.Fatalln(err) } multiLogFile := io.MultiWriter(os.Stdout, logfile) log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) log.SetOutput(multiLogFile)}
1 回答

三國紛爭
TA貢獻1804條經(jīng)驗 獲得超7個贊
“2021/09/25 14:58:55 打開:沒有這樣的文件或目錄”
看看你的代碼,最有可能引發(fā)此錯誤的地方是下一個:
logfile, err := os.OpenFile(logFile, os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666)
通常,如果我們打開一個沒有權限的文件,例如 /root/log.txt,它可能會生成下一個:
2021/09/25 17:50:07 open /root/log.txt: permission denied
您可以看到將顯示的 將告訴用戶哪個文件無法打開,但對您來說,您的錯誤在 之后不返回任何內容。這意味著對于下一個代碼:/root/log.txt
open
LoggingSettings(Config.LogFile)
分析器不返回任何內容。正確的設置也許下一個:Config.LogFile
ini
配置.ini:
[web] logfile=/tmp/log.txt
您應該檢查您的文件,看看是否有任何錯誤使代碼無法解析有效值。ini
logfile
順便說一句,下一個代碼將在導入時發(fā)生,因此您的打印在下一個函數(shù)之后執(zhí)行,如果錯誤在 中出現(xiàn)錯誤,則您在main中的打印將沒有機會運行。"golang_todo_app/config"
main
init
func init () { LoadConfig() utils.LoggingSettings(Config.LogFile) }
- 1 回答
- 0 關注
- 113 瀏覽
添加回答
舉報
0/150
提交
取消