logging.go

 1package logging
 2
 3import (
 4	"context"
 5
 6	"github.com/kujtimiihoxha/termai/internal/pubsub"
 7)
 8
 9type Interface interface {
10	Debug(msg string, args ...any)
11	Info(msg string, args ...any)
12	Warn(msg string, args ...any)
13	Error(msg string, args ...any)
14	Subscribe(ctx context.Context) <-chan pubsub.Event[LogMessage]
15
16	PersistDebug(msg string, args ...any)
17	PersistInfo(msg string, args ...any)
18	PersistWarn(msg string, args ...any)
19	PersistError(msg string, args ...any)
20	List() []LogMessage
21
22	SetLevel(level string)
23}