(logger log.Logger, logLevel logging.Level, keyvals ...any)
| 74 | } |
| 75 | |
| 76 | func newPrometheusLoggerFrom(logger log.Logger, logLevel logging.Level, keyvals ...any) log.Logger { |
| 77 | // Sort the logger chain to avoid expensive log.Valuer evaluation for disallowed level. |
| 78 | // Ref: https://github.com/go-kit/log/issues/14#issuecomment-945038252 |
| 79 | logger = log.With(logger, "ts", log.DefaultTimestampUTC) |
| 80 | logger = log.With(logger, keyvals...) |
| 81 | logger = level.NewFilter(logger, logLevel.Gokit) |
| 82 | |
| 83 | // Initialise counters for all supported levels: |
| 84 | for _, level := range supportedLevels { |
| 85 | logMessages.WithLabelValues(level.String()) |
| 86 | } |
| 87 | return &PrometheusLogger{ |
| 88 | logger: logger, |
| 89 | logLevel: logLevel, |
| 90 | } |
| 91 | } |
| 92 | |
| 93 | // Log increments the appropriate Prometheus counter depending on the log level. |
| 94 | func (pl *PrometheusLogger) Log(kv ...any) error { |
no test coverage detected