Documentation ¶
Overview ¶
Package rotation provides triggering and rolling policy for system files.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var (
// NoPolicy never triggers and does nothing when rolling.
NoPolicy = &noPolicy{}
)
Functions ¶
This section is empty.
Types ¶
type File ¶
type File struct {
// contains filtered or unexported fields
}
File is a wrapper for file writer which supports rotation. Operations on File are not thread-safe.
func NewFile ¶
NewFile creates a new file writer with the given name. Open() must be called before writing.
func (*File) SetRollingPolicy ¶
func (f *File) SetRollingPolicy(p RollingPolicy)
SetRollingPolicy sets a new RollingPolicy.
func (*File) SetTriggeringPolicy ¶
func (f *File) SetTriggeringPolicy(p TriggeringPolicy)
SetTriggeringPolicy sets a new TriggeringPolicy.
type RollingPolicy ¶
RollingPolicy rolls over the log file.
type TimeRollingPolicy ¶
type TimeRollingPolicy struct { FilePattern string FileCount int TriggerTimer TriggerTimer }
TimeRollingPolicy allows the roll over to be based on time. TODO: able to specify format.
func NewTimeRollingPolicy ¶
func NewTimeRollingPolicy() *TimeRollingPolicy
NewTimeRollingPolicy allocates and returns a new TimeRollingPolicy.
type TimeTriggeringPolicy ¶
type TimeTriggeringPolicy struct {
// contains filtered or unexported fields
}
TimeTriggeringPolicy triggers when day changed. TODO: able to specify daily, weekly or monthly.
func NewTimeTriggeringPolicy ¶
func NewTimeTriggeringPolicy() *TimeTriggeringPolicy
NewTimeTriggeringPolicy allocates and returns a TimeTriggeringPolicy.
func (*TimeTriggeringPolicy) IsTriggering ¶
func (p *TimeTriggeringPolicy) IsTriggering(*os.File, []byte) bool
IsTriggering is called in Appender so it's only happens when an logging event happens.
func (*TimeTriggeringPolicy) Start ¶
func (p *TimeTriggeringPolicy) Start() error
Start starts timer with current local time.
func (*TimeTriggeringPolicy) Stop ¶
func (p *TimeTriggeringPolicy) Stop() error
Stop stops running timer.
func (*TimeTriggeringPolicy) TriggerTime ¶
func (p *TimeTriggeringPolicy) TriggerTime() time.Time
TriggerTime returns the time trigger event was raised.
type TriggerTimer ¶
TriggerTimer returns trigger time