log.go 639 B

12345678910111213141516171819202122232425262728293031323334353637
  1. package main
  2. import (
  3. "log"
  4. "os"
  5. )
  6. type Logger struct {
  7. DebugMode bool
  8. _debug *log.Logger
  9. _info *log.Logger
  10. _error *log.Logger
  11. }
  12. func NewLogger() *Logger {
  13. return &Logger{
  14. DebugMode: false,
  15. _debug: log.New(os.Stdout, "DEBUG: ", 0),
  16. _info: log.New(os.Stdout, "", 0),
  17. _error: log.New(os.Stderr, "ERROR: ", 0),
  18. }
  19. }
  20. func (l *Logger) Debug(format string, v ...interface{}) {
  21. if l.DebugMode {
  22. l._debug.Printf(format, v...)
  23. }
  24. }
  25. func (l *Logger) Info(format string, v ...interface{}) {
  26. l._info.Printf(format, v...)
  27. }
  28. func (l *Logger) Error(format string, v ...interface{}) {
  29. l._error.Printf(format, v...)
  30. }