github.com/telepresenceio/telepresence/v2@v2.20.0-pro.6.0.20240517030216-236ea954e789/pkg/client/logging/dup_windows.go (about)

     1  package logging
     2  
     3  import (
     4  	"os"
     5  
     6  	"golang.org/x/sys/windows"
     7  )
     8  
     9  func dupToStdOut(file *os.File) error {
    10  	if err := windows.SetStdHandle(windows.STD_OUTPUT_HANDLE, windows.Handle(file.Fd())); err != nil {
    11  		return err
    12  	}
    13  	os.Stdout = file
    14  	return nil
    15  }
    16  
    17  func dupToStdErr(file *os.File) error {
    18  	// https://stackoverflow.com/questions/34772012/capturing-panic-in-golang/34772516
    19  	if err := windows.SetStdHandle(windows.STD_ERROR_HANDLE, windows.Handle(file.Fd())); err != nil {
    20  		return err
    21  	}
    22  	os.Stderr = file
    23  	return nil
    24  }