package zerolog import "time" import "sync/atomic" var ( // TimestampFieldName is the field name used for the timestamp field. TimestampFieldName = "time" // LevelFieldName is the field name used for the level field. LevelFieldName = "level" // MessageFieldName is the field name used for the message field. MessageFieldName = "message" // ErrorFieldName is the field name used for error fields. ErrorFieldName = "error" // CallerFieldName is the field name used for caller field. CallerFieldName = "caller" // CallerSkipFrameCount is the number of stack frames to skip to find the caller. CallerSkipFrameCount = 2 // TimeFieldFormat defines the time format of the Time field type. // If set to an empty string, the time is formatted as an UNIX timestamp // as integer. TimeFieldFormat = time.RFC3339 // TimestampFunc defines the function called to generate a timestamp. TimestampFunc = time.Now // DurationFieldUnit defines the unit for time.Duration type fields added // using the Dur method. DurationFieldUnit = time.Millisecond // DurationFieldInteger renders Dur fields as integer instead of float if // set to true. DurationFieldInteger = false // ErrorHandler is called whenever zerolog fails to write an event on its // output. If not set, an error is printed on the stderr. This handler must // be thread safe and non-blocking. ErrorHandler func(err error) ) var ( gLevel = new(uint32) disableSampling = new(uint32) ) // SetGlobalLevel sets the global override for log level. If this // values is raised, all Loggers will use at least this value. // // To globally disable logs, set GlobalLevel to Disabled. func SetGlobalLevel(l Level) { atomic.StoreUint32(gLevel, uint32(l)) } // GlobalLevel returns the current global log level func GlobalLevel() Level { return Level(atomic.LoadUint32(gLevel)) } // DisableSampling will disable sampling in all Loggers if true. func DisableSampling(v bool) { var i uint32 if v { i = 1 } atomic.StoreUint32(disableSampling, i) } func samplingDisabled() bool { return atomic.LoadUint32(disableSampling) == 1 }