log

package
v0.0.0-...-c17c338 Latest Latest
Warning

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

Go to latest
Published: Nov 20, 2021 License: MIT Imports: 12 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) io.Writer

MultiWriter make and return a new copy of multiWriter

func SetupGlobalLogger

func SetupGlobalLogger()

SetupGlobalLogger setup the global loggers with the default global config values

func SetupSubLoggers

func SetupSubLoggers(s []SubLoggerConfig)

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 Event

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

Event holds the data sent to the log and which multiwriter to send to

type Levels

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

Levels flags for each sub logger type

func Level

func Level(s 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 {
	Levels
	// contains filtered or unexported fields
}

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

var (
	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.

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