Menulis Log ke Fail dalam Go
Apabila cuba menulis log ke fail menggunakan pakej pengelogan Go standard, pengguna mungkin menghadapi masalah di mana fail log dibuat tetapi kekal kosong. Untuk menyelesaikan masalah ini, adalah penting untuk memahami pendekatan yang betul untuk menulis log pada fail.
Dalam kod yang disediakan, anda telah mencuba berbilang pendekatan, termasuk:
Walau bagaimanapun, semua kaedah ini telah gagal kerana os.Open("logfile") membuka fail untuk bacaan sahaja , menjadikannya tidak sesuai untuk menulis log.
Pendekatan yang betul ialah menggunakan os.OpenFile("testlogfile", os.O_RDWR |. os.O_CREATE |. Ini membuka fail untuk membaca dan menulis, membenarkan log dilampirkan pada fail.
Dengan menambahkan baris ini dan menetapkan output log pada fail, anda boleh berjaya menulis log ke fail dalam Go:
f, err := os.OpenFile("testlogfile", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) if err != nil { log.Fatalf("error opening file: %v", err) } defer f.Close() log.SetOutput(f) log.Println("This is a test log entry")
Atas ialah kandungan terperinci Mengapa Log Go Saya Tidak Menulis ke Fail?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!