func (l *Periodic) Warn(period time.Duration, msg string, ctx ...interface{}) {
    if time.Since(l.prevLogTime) > period {
        l.Log.Warn(msg, ctx...)
        l.prevLogTime = time.Now()
    }