logger.go 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. package logx
  2. import (
  3. "context"
  4. "time"
  5. )
  6. // A Logger represents a logger.
  7. type Logger interface {
  8. // Debug logs a message at info level.
  9. Debug(...any)
  10. // Debugf logs a message at info level.
  11. Debugf(string, ...any)
  12. // Debugv logs a message at info level.
  13. Debugv(any)
  14. // Debugw logs a message at info level.
  15. Debugw(string, ...LogField)
  16. // Error logs a message at error level.
  17. Error(...any)
  18. // Errorf logs a message at error level.
  19. Errorf(string, ...any)
  20. // Errorv logs a message at error level.
  21. Errorv(any)
  22. // Errorw logs a message at error level.
  23. Errorw(string, ...LogField)
  24. // Info logs a message at info level.
  25. Info(...any)
  26. // Infof logs a message at info level.
  27. Infof(string, ...any)
  28. // Infov logs a message at info level.
  29. Infov(any)
  30. // Infow logs a message at info level.
  31. Infow(string, ...LogField)
  32. // Slow logs a message at slow level.
  33. Slow(...any)
  34. // Slowf logs a message at slow level.
  35. Slowf(string, ...any)
  36. // Slowv logs a message at slow level.
  37. Slowv(any)
  38. // Sloww logs a message at slow level.
  39. Sloww(string, ...LogField)
  40. // WithCallerSkip returns a new logger with the given caller skip.
  41. WithCallerSkip(skip int) Logger
  42. // WithContext returns a new logger with the given context.
  43. WithContext(ctx context.Context) Logger
  44. // WithDuration returns a new logger with the given duration.
  45. WithDuration(d time.Duration) Logger
  46. // WithFields returns a new logger with the given fields.
  47. WithFields(fields ...LogField) Logger
  48. }