Files
log/type.go
T

40 lines
846 B
Go

package log
import (
"io"
"time"
"github.com/lixenwraith/log/formatter"
)
// Context carries caller-stamped values emitted with a record
type Context = formatter.Context
// ContextSlots is the number of correlation values a Context carries
const ContextSlots = formatter.ContextSlots
// logRecord represents a single log entry
type logRecord struct {
TimeStamp time.Time
Trace string
Args []any
Ctx Context
Flags int64
Level int64
}
// TimerSet holds all timers used in processLogs
type TimerSet struct {
flushTicker *time.Ticker
diskCheckTicker *time.Ticker
retentionTicker *time.Ticker
heartbeatTicker *time.Ticker
retentionChan <-chan time.Time
heartbeatChan <-chan time.Time
}
// sink is a wrapper around an io.Writer, atomic value type change workaround
type sink struct {
w io.Writer
}