func (rotate *RotateConfig) Configure(conf core.PluginConfigReader) {
	rotateAt := conf.GetString("Rotation/At", "")
	if rotateAt != "" {
		parts := strings.Split(rotateAt, ":")
		rotateAtHour, _ := strconv.ParseInt(parts[0], 10, 8)
		rotateAtMin, _ := strconv.ParseInt(parts[1], 10, 8)
		rotate.AtHour = int(rotateAtHour)
		rotate.AtMinute = int(rotateAtMin)
	}
}
Configure method for interface implementation
package components
import (
	"strconv"
	"strings"
	"time"
	"gollum/core"
)
type RotateConfig struct {
	Timeout   time.Duration `config:"Rotation/TimeoutMin" default:"1440" metric:"min"`
	SizeByte  int64         `config:"Rotation/SizeMB" default:"1024" metric:"mb"`
	Timestamp string        `config:"Rotation/Timestamp" default:"2006-01-02_15"`
	ZeroPad   int           `config:"Rotation/ZeroPadding" default:"0"`
	AtHour    int           `config:"Rotation/AtHour" default:"-1"`
	AtMinute  int           `config:"Rotation/AtMin" default:"-1"`
	Compress  bool          `config:"Rotation/Compress" default:"false"`
	Enabled   bool          `config:"Rotation/Enable" default:"false"`
}
func NewRotateConfig() RotateConfig {
	return RotateConfig{
		Enabled:   false,
		Timeout:   1440,
		SizeByte:  1024,
		Timestamp: "2006-01-02_15",
		ZeroPad:   0,
		Compress:  false,
		AtHour:    -1,
		AtMinute:  -1,
	}
}