(keyvals ...interface{})
| 37 | } |
| 38 | |
| 39 | func (l *RateLimitedLogger) Log(keyvals ...interface{}) error { |
| 40 | if l.limiter.Allow() { |
| 41 | return l.next.Log(keyvals...) |
| 42 | } |
| 43 | counter := l.getCounterFromKeyvals(keyvals...) |
| 44 | if counter != nil { |
| 45 | counter.Inc() |
| 46 | } |
| 47 | return nil |
| 48 | } |
| 49 | |
| 50 | func (l *RateLimitedLogger) getCounterFromKeyvals(keyvals ...interface{}) prometheus.Counter { |
| 51 | for i := 0; i < len(keyvals); i += 2 { |