Documentation ¶
Index ¶
- Constants
- Variables
- func CloseLogger() error
- func Debug(sl *SubLogger, data string)
- func Debugf(sl *SubLogger, data string, v ...interface{})
- func Debugln(sl *SubLogger, v ...interface{})
- func Error(sl *SubLogger, data ...interface{})
- func Errorf(sl *SubLogger, data string, v ...interface{})
- func Errorln(sl *SubLogger, v ...interface{})
- func Fatal(sl *SubLogger, data ...interface{})
- func Fatalf(sl *SubLogger, data string, v ...interface{})
- func Info(sl *SubLogger, data string)
- func Infof(sl *SubLogger, data string, v ...interface{})
- func Infoln(sl *SubLogger, v ...interface{})
- func SetupGlobalLogger() error
- func SetupSubLoggers(s []SubLoggerConfig) error
- func Warn(sl *SubLogger, data string)
- func Warnf(sl *SubLogger, data string, v ...interface{})
- func Warnln(sl *SubLogger, v ...interface{})
- type Config
- type Levels
- type Logger
- type MultiWriter
- type Rotate
- type SubLogger
- type SubLoggerConfig
Constants ¶
const ( // DefaultMaxFileSize for logger rotation file DefaultMaxFileSize int64 = 100 )
Variables ¶
var ( // FileLoggingConfiguredCorrectly flag set during config check if file logging meets requirements FileLoggingConfiguredCorrectly bool // GlobalLogConfig holds global configuration options for logger GlobalLogConfig = NewConfig() // GlobalLogFile hold global configuration options for file logger GlobalLogFile = &Rotate{} // FilePath system path to store log files in FilePath string // RWM read/write mutex for logger RWM = &sync.RWMutex{} // SubLoggers map of global SubLoggers SubLoggers = map[string]*SubLogger{} // Global SubLoggers Global *SubLogger Database *SubLogger Webserver *SubLogger )
var ( // ErrSubLoggerAlreadyRegistered Returned when a sub logger is registered multiple times ErrSubLoggerAlreadyRegistered = errors.New("sub logger already registered") )
Functions ¶
func Debugf ¶
Debugf takes a pointer SubLogger struct, string & interface formats and sends to Info()
func Debugln ¶
func Debugln(sl *SubLogger, v ...interface{})
Debugln takes a pointer SubLogger struct, string and interface sends to newLogEvent
func Error ¶
func Error(sl *SubLogger, data ...interface{})
Error takes a pointer SubLogger struct & interface formats and sends to newLogEvent()
func Errorf ¶
Errorf takes a pointer SubLogger struct, string & interface formats and sends to Debug()
func Errorln ¶
func Errorln(sl *SubLogger, v ...interface{})
Errorln takes a pointer SubLogger struct, string & interface formats and sends to newLogEvent()
func Fatal ¶
func Fatal(sl *SubLogger, data ...interface{})
Fatal takes a pointer SubLogger struct & interface formats, sends to newLogEvent(), then exits the program
func Fatalf ¶
Fatalf takes a pointer SubLogger struct, string & interface formats and sends to Fatal()
func Infoln ¶
func Infoln(sl *SubLogger, v ...interface{})
Infoln takes a pointer SubLogger struct and interface sends to newLogEvent
func SetupGlobalLogger ¶
func SetupGlobalLogger() error
SetupGlobalLogger set up the global loggers with the default global config values
func SetupSubLoggers ¶
func SetupSubLoggers(s []SubLoggerConfig) error
SetupSubLoggers configure all sub loggers with provided configuration values
Types ¶
type Config ¶
type Config struct { Enabled *bool `json:"enabled"` SubLoggerConfig LoggerFileConfig *loggerFileConfig `json:"fileSettings,omitempty"` AdvancedSettings advancedSettings `json:"advancedSettings"` SubLoggers []SubLoggerConfig `json:"subLoggers,omitempty"` }
Config holds configuration settings loaded from bot config
type Levels ¶
type Levels struct {
Info, Debug, Warn, Error bool
}
Levels flags for each sub logger type
type Logger ¶
type Logger struct { ShowLogSystemName bool Timestamp string InfoHeader, ErrorHeader, DebugHeader, WarnHeader string Spacer string }
Logger represents a single Logger instance with settings
type MultiWriter ¶
type MultiWriter struct {
// contains filtered or unexported fields
}
func (*MultiWriter) Add ¶
func (mw *MultiWriter) Add(writer io.Writer) error
Add appends a new writer to the writers slice
type Rotate ¶
type Rotate struct { FileName string Rotate *bool MaxSize int64 // contains filtered or unexported fields }
Rotate struct for each instance of Rotate
type SubLogger ¶
type SubLogger struct {
// contains filtered or unexported fields
}
SubLogger defines a sub logger that can be used externally
func NewSubLogger ¶
NewSubLogger allows for a new sub logger to be registered.
type SubLoggerConfig ¶
type SubLoggerConfig struct { Name string `json:"name,omitempty"` Level string `json:"level"` Output string `json:"output"` }
SubLoggerConfig holds sub logger configuration settings loaded from bot config