debug.go 523 B

123456789101112131415161718192021222324252627282930313233343536
  1. package utils
  2. import (
  3. "fmt"
  4. "os"
  5. "strings"
  6. )
  7. type Debug func(format string, v ...interface{})
  8. var hookGetEnv = func() string {
  9. return os.Getenv("DEBUG")
  10. }
  11. var hookPrint = func(input string) {
  12. fmt.Println(input)
  13. }
  14. func Init(flag string) Debug {
  15. enable := false
  16. env := hookGetEnv()
  17. parts := strings.Split(env, ",")
  18. for _, part := range parts {
  19. if part == flag {
  20. enable = true
  21. break
  22. }
  23. }
  24. return func(format string, v ...interface{}) {
  25. if enable {
  26. hookPrint(fmt.Sprintf(format, v...))
  27. }
  28. }
  29. }