37 lines
		
	
	
		
			523 B
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			523 B
		
	
	
	
		
			Go
		
	
	
	
	
	
package utils
 | 
						|
 | 
						|
import (
 | 
						|
	"fmt"
 | 
						|
	"os"
 | 
						|
	"strings"
 | 
						|
)
 | 
						|
 | 
						|
type Debug func(format string, v ...interface{})
 | 
						|
 | 
						|
var hookPrint = func(input string) {
 | 
						|
	fmt.Println(input)
 | 
						|
}
 | 
						|
 | 
						|
var hookGetEnv = func() string {
 | 
						|
	return os.Getenv("DEBUG")
 | 
						|
}
 | 
						|
 | 
						|
func Init(flag string) Debug {
 | 
						|
 | 
						|
	enable := false
 | 
						|
	env := hookGetEnv()
 | 
						|
	parts := strings.Split(env, ",")
 | 
						|
	for _, part := range parts {
 | 
						|
		if part == flag {
 | 
						|
			enable = true
 | 
						|
			break
 | 
						|
		}
 | 
						|
	}
 | 
						|
 | 
						|
	return func(format string, v ...interface{}) {
 | 
						|
		if enable {
 | 
						|
			hookPrint(fmt.Sprintf(format, v...))
 | 
						|
		}
 | 
						|
	}
 | 
						|
}
 |