var nowfunc … type LogReduction … // NewLogReduction returns an initialized LogReduction func NewLogReduction(identicalErrorDelay time.Duration) *LogReduction { … } func (l *LogReduction) cleanupErrorTimeouts() { … } // ShouldMessageBePrinted determines whether a message should be printed based // on how long ago this particular message was last printed func (l *LogReduction) ShouldMessageBePrinted(message string, parentID string) bool { … } // ClearID clears out log reduction records pertaining to a particular parent // (e. g. container ID) func (l *LogReduction) ClearID(parentID string) { … }