log

package
v1.0.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 24, 2022 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (

	// DefaultMaxFileSize for logger rotation file
	DefaultMaxFileSize int64 = 100
)

Variables

View Source
var (

	// FileLoggingConfiguredCorrectly flag set during config check if file logging meets requirements
	FileLoggingConfiguredCorrectly bool
	// GlobalLogConfig holds global configuration options for logger
	GlobalLogConfig = &Config{}
	// GlobalLogFile hold global configuration options for file logger
	GlobalLogFile = &Rotate{}

	// LogPath system path to store log files in
	LogPath string

	// RWM read/write mutex for logger
	RWM = &sync.RWMutex{}
)

Functions

func CloseLogger

func CloseLogger() error

CloseLogger is called on shutdown of application

func Debug

func Debug(sl *SubLogger, data string)

Debug takes a pointer subLogger struct and string sends to multiwriter

func Debugf

func Debugf(sl *SubLogger, data string, v ...interface{})

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

func Errorf(sl *SubLogger, data string, v ...interface{})

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 Info

func Info(sl *SubLogger, data string)

Info takes a pointer subLogger struct and string sends to newLogEvent

func Infof

func Infof(sl *SubLogger, data string, v ...interface{})

Infof takes a pointer subLogger struct, string & interface formats and sends to Info()

func Infoln

func Infoln(sl *SubLogger, v ...interface{})

Infoln takes a pointer subLogger struct and interface sends to newLogEvent

func MultiWriter

func MultiWriter(writers ...io.Writer) (*multiWriter, error)

MultiWriter make and return a new copy of multiWriter

func SetupGlobalLogger

func SetupGlobalLogger() error

SetupGlobalLogger setup 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

func Warn

func Warn(sl *SubLogger, data string)

Warn takes a pointer subLogger struct & string and sends to newLogEvent()

func Warnf

func Warnf(sl *SubLogger, data string, v ...interface{})

Warnf takes a pointer subLogger struct, string & interface formats and sends to Warn()

func Warnln

func Warnln(sl *SubLogger, v ...interface{})

Warnln takes a pointer subLogger struct & interface formats and sends to newLogEvent()

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

func GenDefaultSettings

func GenDefaultSettings() *Config

GenDefaultSettings return struct with known sane/working logger settings

type Levels

type Levels struct {
	Info, Debug, Warn, Error bool
}

Levels flags for each sub logger type

func Level

func Level(name string) (Levels, error)

Level retries the current sublogger levels

func SetLevel

func SetLevel(s, level string) (Levels, error)

SetLevel sets sublogger levels

type Logger

type Logger struct {
	ShowLogSystemName                                bool
	Timestamp                                        string
	InfoHeader, ErrorHeader, DebugHeader, WarnHeader string
	Spacer                                           string
}

Logger each instance of logger settings

type Rotate

type Rotate struct {
	FileName string
	Rotate   *bool
	MaxSize  int64
	// contains filtered or unexported fields
}

Rotate struct for each instance of Rotate

func (*Rotate) Close

func (r *Rotate) Close() error

Close handler for open file

func (*Rotate) Write

func (r *Rotate) Write(output []byte) (n int, err error)

Write implementation to satisfy io.Writer handles length check and rotation

type SubLogger

type SubLogger struct {
	// contains filtered or unexported fields
}

SubLogger defines a sub logger can be used externally for packages wanted to leverage GCT library logger features.

var (
	SubLoggers = map[string]*SubLogger{}

	Global           *SubLogger
	BackTester       *SubLogger
	ConnectionMgr    *SubLogger
	CommunicationMgr *SubLogger
	APIServerMgr     *SubLogger
	ConfigMgr        *SubLogger
	DatabaseMgr      *SubLogger
	DataHistory      *SubLogger
	GCTScriptMgr     *SubLogger
	OrderMgr         *SubLogger
	PortfolioMgr     *SubLogger
	SyncMgr          *SubLogger
	TimeMgr          *SubLogger
	WebsocketMgr     *SubLogger
	EventMgr         *SubLogger
	DispatchMgr      *SubLogger

	RequestSys  *SubLogger
	ExchangeSys *SubLogger
	GRPCSys     *SubLogger
	RESTSys     *SubLogger

	Ticker    *SubLogger
	OrderBook *SubLogger
	Trade     *SubLogger
	Fill      *SubLogger
)

Global vars related to the logger package

func NewSubLogger

func NewSubLogger(name string) (*SubLogger, error)

NewSubLogger allows for a new sub logger to be registered.

func (*SubLogger) GetLevels

func (sl *SubLogger) GetLevels() Levels

GetLevels returns current functional log levels

func (*SubLogger) SetLevels

func (sl *SubLogger) SetLevels(newLevels Levels)

SetLevels overrides the default levels with new levels; levelception

func (*SubLogger) SetOutput

func (sl *SubLogger) SetOutput(o io.Writer)

SetOutput overrides the default output with a new writer

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

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL