Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Log Mesej ke Konsol dan Fail dalam Go?
Cara Log Mesej ke Berbilang Destinasi dalam Go
Apabila mengelog mesej dalam Go, anda mungkin perlu mengeluarkan log ke kedua-dua konsol dan fail serentak. Walaupun mudah untuk mengarahkan mesej semata-mata kepada fail menggunakan log.SetOutput(logFile), terdapat cara untuk mendayakan log masuk kedua-dua terminal dan fail sasaran.
Melaksanakan Pelbagai Destinasi
Untuk mencapai pengelogan dalam berbilang destinasi, gunakan io.MultiWriter. Seperti yang tersirat oleh namanya, MultiWriter memudahkan penulisan kepada berbilang penulis secara serentak, serupa dengan perintah Unix tee(1).
Begini cara melaksanakannya menggunakan MultiWriter:
import ( "os" "io" "log" ) func main() { logFile, err := os.OpenFile("log.txt", os.O_CREATE|os.O_APPEND|os.O_RDWR, 0666) if err != nil { panic(err) } // Initialize io.MultiWriter to write to both file and console mw := io.MultiWriter(os.Stdout, logFile) // Set output to MultiWriter log.SetOutput(mw) }
Dalam contoh ini , mw ialah contoh io.MultiWriter yang menulis kepada kedua-dua os.Stdout (konsol) dan logFail. Dengan menetapkan log.SetOutput(mw), semua mesej log seterusnya akan dicetak dalam konsol dan dilog ke fail yang ditentukan.
Atas ialah kandungan terperinci Bagaimana untuk Log Mesej ke Konsol dan Fail dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!