Files
gocryptotrader/log/sublogger_types.go
Ryan O'Hara-Reid db8735ec99 log: Add structured logging (#1171)
* basic implementation

* log: deprecate duplicate function, add tests and refine calls.

* linter: fixes

* linter: update struct

* linter and new type

* log tests: update to not lint issue

* linter: stop complaining please

* glorious: nits

* log: rm comment code

* glorious: nits

* glorious: nits

* glorious: nits

* glorious: nits missed

---------

Co-authored-by: Ryan O'Hara-Reid <ryan.oharareid@thrasher.io>
2023-05-10 17:52:53 +10:00

59 lines
1.4 KiB
Go

package log
// Global vars related to the logger package
var (
SubLoggers = map[string]*SubLogger{}
Global *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
Currency *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 *multiWriterHolder
botName string
structuredLogging bool
}
// fields 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 fields struct {
info bool
warn bool
debug bool
error bool
structuredLogging bool
name string
output *multiWriterHolder
logger Logger
botName string
structuredFields ExtraFields
}