factory.go 445 B

12345678910111213141516171819202122232425262728
  1. package log
  2. import (
  3. "github.com/sagernet/sing/common/logger"
  4. "github.com/sagernet/sing/common/observable"
  5. )
  6. type (
  7. Logger logger.Logger
  8. ContextLogger logger.ContextLogger
  9. )
  10. type Factory interface {
  11. Level() Level
  12. SetLevel(level Level)
  13. Logger() ContextLogger
  14. NewLogger(tag string) ContextLogger
  15. }
  16. type ObservableFactory interface {
  17. Factory
  18. observable.Observable[Entry]
  19. }
  20. type Entry struct {
  21. Level Level
  22. Message string
  23. }