logger.go 522 B

123456789101112131415161718192021222324252627282930313233343536
  1. package logger
  2. import (
  3. "context"
  4. )
  5. type Interface interface {
  6. Trace(context.Context, string, ...interface{})
  7. }
  8. // Writer log writer interface
  9. type Writer interface {
  10. Printf(string, ...interface{})
  11. }
  12. type log struct {
  13. Writer
  14. config Config
  15. }
  16. func (l *log) Trace(ctx context.Context, s string, i ...interface{}) {
  17. if l.config.Open {
  18. l.Printf("[SPARROW-SDK]"+s, i)
  19. }
  20. }
  21. type Config struct {
  22. Open bool
  23. }
  24. func New(writer Writer, config Config) Interface {
  25. return &log{
  26. Writer: writer,
  27. config: config,
  28. }
  29. }