23 lines
733 B
Go
23 lines
733 B
Go
package log
|
|
|
|
import (
|
|
"sync/atomic"
|
|
)
|
|
|
|
// State encapsulates the runtime state of the logger
|
|
type State struct {
|
|
IsInitialized atomic.Bool
|
|
LoggerDisabled atomic.Bool
|
|
ShutdownCalled atomic.Bool
|
|
DiskFullLogged atomic.Bool
|
|
DiskStatusOK atomic.Bool
|
|
ProcessorExited atomic.Bool // Tracks if the processor goroutine is running or has exited
|
|
|
|
CurrentFile atomic.Value // stores *os.File
|
|
CurrentSize atomic.Int64 // Size of the current log file
|
|
EarliestFileTime atomic.Value // stores time.Time for retention
|
|
DroppedLogs atomic.Uint64 // Counter for logs dropped
|
|
LoggedDrops atomic.Uint64 // Counter for dropped logs message already logged
|
|
|
|
ActiveLogChannel atomic.Value // stores chan logRecord
|
|
} |