milvus/pkg/log/with_logger.go
Zhen Ye a9e0e0a852
enhance: broadcast with event-based notification (#39522)
issue: #38399

- broadcast message can carry multi resource key now.
- implement event-based notification for broadcast messages
- broadcast message use broadcast id as a unique identifier in message
- broadcasted message on vchannels keep the broadcasted vchannel now.
- broadcasted message and broadcast message have a common broadcast
header now.

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2025-02-07 11:14:43 +08:00

38 lines
696 B
Go

package log
var (
_ WithLogger = &Binder{}
_ LoggerBinder = &Binder{}
)
// WithLogger is an interface to help access local logger.
type WithLogger interface {
Logger() *MLogger
}
// LoggerBinder is an interface to help set logger.
type LoggerBinder interface {
SetLogger(logger *MLogger)
}
// Binder is a embedding type to help access local logger.
type Binder struct {
logger *MLogger
}
// SetLogger sets logger to Binder.
func (w *Binder) SetLogger(logger *MLogger) {
if w.logger != nil {
panic("logger already set")
}
w.logger = logger
}
// Logger returns the logger of Binder.
func (w *Binder) Logger() *MLogger {
if w.logger == nil {
return With()
}
return w.logger
}