factory.go 460 B

1234567891011121314151617181920212223242526272829
  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. Close() error
  16. }
  17. type ObservableFactory interface {
  18. Factory
  19. observable.Observable[Entry]
  20. }
  21. type Entry struct {
  22. Level Level
  23. Message string
  24. }