mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-16 15:09:57 +00:00
* log: fix bugs expand coverage and optimise * log: fix linter issues * log: fix linter issue and pack methods in same file * log: drop defer * logger: move global check inside getfields and remove unused test function * logger: Increase note thanks @gloriouscode * logger: wrap error with writer type * logger: change variable name * logger: change variable names and remove validsublogger func as it doesn't add functionality over a standard map call * logs: error when unsupported output is applied on setup calls * logs: add glorious suggestion * logger: add protection to reduce olympic gold medal races * logger: fix linter issues * log: glorious niterinos
60 lines
1.2 KiB
Go
60 lines
1.2 KiB
Go
package log
|
|
|
|
import (
|
|
"io"
|
|
"sync"
|
|
)
|
|
|
|
// Global vars related to the logger package
|
|
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
|
|
)
|
|
|
|
// SubLogger defines a sub logger can be used externally for packages wanted to
|
|
// leverage GCT library logger features.
|
|
type SubLogger struct {
|
|
name string
|
|
levels Levels
|
|
output io.Writer
|
|
mtx sync.RWMutex
|
|
}
|
|
|
|
// logFields is used to store data in a non-global and thread-safe manner
|
|
// so logs cannot be modified mid-log causing a data-race issue
|
|
type logFields struct {
|
|
info bool
|
|
warn bool
|
|
debug bool
|
|
error bool
|
|
name string
|
|
output io.Writer
|
|
logger Logger
|
|
}
|