1
0

factory.go 475 B

123456789101112131415161718192021222324252627282930
  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. Start() error
  12. Close() error
  13. Level() Level
  14. SetLevel(level Level)
  15. Logger() ContextLogger
  16. NewLogger(tag string) ContextLogger
  17. }
  18. type ObservableFactory interface {
  19. Factory
  20. observable.Observable[Entry]
  21. }
  22. type Entry struct {
  23. Level Level
  24. Message string
  25. }