console.go 555 B

1234567891011121314151617181920212223242526
  1. // Package console provides functions for disabling and disabling output
  2. package console
  3. import (
  4. "os"
  5. )
  6. // Output is for enabling or disabling output to stdout
  7. type Output struct {
  8. stdout *os.File
  9. enabled bool
  10. }
  11. // Disable output to stdout. Will close stdout and stderr.
  12. func (o *Output) Disable() {
  13. os.Stdout.Close()
  14. os.Stderr.Close()
  15. o.stdout, _ = os.OpenFile(os.DevNull, os.O_WRONLY, 0o644)
  16. o.enabled = false
  17. }
  18. // Enable output to stdout, if stdout has not been closed
  19. func (o *Output) Enable() {
  20. o.stdout = os.Stdout
  21. o.enabled = true
  22. }