windows.go 804 B

123456789101112131415161718192021222324252627282930313233
  1. // These files implement ANSI-aware input and output streams for use by the Docker Windows client.
  2. // When asked for the set of standard streams (e.g., stdin, stdout, stderr), the code will create
  3. // and return pseudo-streams that convert ANSI sequences to / from Windows Console API calls.
  4. package windowsconsole
  5. import (
  6. "io/ioutil"
  7. "os"
  8. "sync"
  9. ansiterm "github.com/Azure/go-ansiterm"
  10. "github.com/Sirupsen/logrus"
  11. )
  12. var logger *logrus.Logger
  13. var initOnce sync.Once
  14. func initLogger() {
  15. initOnce.Do(func() {
  16. logFile := ioutil.Discard
  17. if isDebugEnv := os.Getenv(ansiterm.LogEnv); isDebugEnv == "1" {
  18. logFile, _ = os.Create("ansiReaderWriter.log")
  19. }
  20. logger = &logrus.Logger{
  21. Out: logFile,
  22. Formatter: new(logrus.TextFormatter),
  23. Level: logrus.DebugLevel,
  24. }
  25. })
  26. }