log.go 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. package utils
  2. // LogLevel of quic-go
  3. type LogLevel uint8
  4. const (
  5. // LogLevelNothing disables
  6. LogLevelNothing LogLevel = iota
  7. // LogLevelError enables err logs
  8. LogLevelError
  9. // LogLevelInfo enables info logs (e.g. packets)
  10. LogLevelInfo
  11. // LogLevelDebug enables debug logs (e.g. packet contents)
  12. LogLevelDebug
  13. )
  14. // A Logger logs.
  15. type Logger interface {
  16. SetLogLevel(LogLevel)
  17. SetLogTimeFormat(format string)
  18. WithPrefix(prefix string) Logger
  19. Debug() bool
  20. Errorf(format string, args ...interface{})
  21. Infof(format string, args ...interface{})
  22. Debugf(format string, args ...interface{})
  23. }
  24. // DefaultLogger is used by quic-go for logging.
  25. var DefaultLogger Logger
  26. type defaultLogger struct{}
  27. var _ Logger = &defaultLogger{}
  28. // SetLogLevel sets the log level
  29. func (l *defaultLogger) SetLogLevel(level LogLevel) {
  30. }
  31. // SetLogTimeFormat sets the format of the timestamp
  32. // an empty string disables the logging of timestamps
  33. func (l *defaultLogger) SetLogTimeFormat(format string) {}
  34. // Debugf logs something
  35. func (l *defaultLogger) Debugf(format string, args ...interface{}) {}
  36. // Infof logs something
  37. func (l *defaultLogger) Infof(format string, args ...interface{}) {}
  38. // Errorf logs something
  39. func (l *defaultLogger) Errorf(format string, args ...interface{}) {}
  40. func (l *defaultLogger) WithPrefix(prefix string) Logger {
  41. return l
  42. }
  43. // Debug returns true if the log level is LogLevelDebug
  44. func (l *defaultLogger) Debug() bool {
  45. return false
  46. }
  47. func init() {
  48. DefaultLogger = &defaultLogger{}
  49. }