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