package originclient // Logger receives non-fatal warnings from the client (encode/build/request // failures, machine-id/persistence fallbacks). It intentionally mirrors the // smallest common subset of structured loggers so callers can adapt zap, // slog, logrus, or anything else with one line. type Logger interface { Warn(msg string, err error) } // LoggerFunc adapts a function to Logger. type LoggerFunc func(msg string, err error) // Warn implements Logger. func (f LoggerFunc) Warn(msg string, err error) { f(msg, err) } // noopLogger discards every warning. type noopLogger struct{} func (noopLogger) Warn(string, error) {}