Untuk memaparkan dan log stdout dan stderr perintah secara serentak sambil mengekalkan susunan output, anda boleh menggunakan io perpustakaan standard .MultiWriter.
<code class="go">package main import ( "io" "log" "os" "os/exec" ) func main() { // Logging capability f, err := os.OpenFile("log.log", os.O_RDWR|os.O_CREATE|os.O_APPEND, 0666) if err != nil { log.Fatalf("Error opening file: %v", err) } defer f.Close() mwriter := io.MultiWriter(f, os.Stdout) cmd := exec.Command("ls") cmd.Stderr = mwriter cmd.Stdout = mwriter err = cmd.Run() //blocks until sub process is complete if err != nil { panic(err) } }</code>
Atas ialah kandungan terperinci Bagaimana untuk Mengalihkan Output Perintah ke Kedua-dua Konsol dan Fail Log sambil Mengekalkan Pesanan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!