| // +build windows |
| |
| package cmd |
| |
| import ( |
| "fmt" |
| "os" |
| "strings" |
| ) |
| |
| // Info logs information |
| func Info(msg string, args ...interface{}) { |
| if Quiet { |
| return |
| } |
| fmt.Print("[INFO] ") |
| Msg(msg, args...) |
| } |
| |
| // Debug logs debug information |
| func Debug(msg string, args ...interface{}) { |
| if Quiet || !IsDebugging { |
| return |
| } |
| fmt.Print("[DEBUG] ") |
| Msg(msg, args...) |
| } |
| |
| // Warn logs a warning |
| func Warn(msg string, args ...interface{}) { |
| fmt.Fprint(os.Stderr, "[WARN] ") |
| ErrMsg(msg, args...) |
| } |
| |
| // Error logs and error. |
| func Error(msg string, args ...interface{}) { |
| fmt.Fprint(os.Stderr, "[ERROR] ") |
| ErrMsg(msg, args...) |
| } |
| |
| // ErrMsg sends a message to Stderr |
| func ErrMsg(msg string, args ...interface{}) { |
| if len(args) == 0 { |
| fmt.Fprint(os.Stderr, msg) |
| return |
| } |
| fmt.Fprintf(os.Stderr, msg, args...) |
| } |
| |
| // Msg prints a message with optional arguments, that can be printed, of |
| // varying types. |
| func Msg(msg string, args ...interface{}) { |
| if len(args) == 0 { |
| fmt.Print(msg) |
| return |
| } |
| fmt.Printf(msg, args...) |
| |
| // Get rid of the annoying fact that messages need \n at the end, but do |
| // it in a backward compatible way. |
| if !strings.HasSuffix(msg, "\n") { |
| fmt.Println("") |
| } |
| } |