mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-06-01 07:26:48 +00:00
Implement Logger (#228)
* Added new base logger * updated example and test configs * updated exchange helpers restful router & server * logPath is now passed to the logger to remove dependency on common package * updated everything besides exchanges to use new logger * alphapoint to bitmex done * updated bitmex bitstamp bittrex btcc and also performance changes to logger * btcmarkets coinbase coinut exmo gateio wrappers updated * gateio and gemini logger updated * hitbtc huobi itbit & kraken updated * All exchanges updatd * return correct error for disabled websocket * don't disconnect client on invalid json * updated router internal logging * log.Fatal to t.Error for tests * Changed from fatal to error failure to set maxprocs * output ANSI codes for everything but windows for now due to lack of windows support * added error handling to logger and unit tests * clear wording on print -> log.print * added benchmark test * cleaned up import sections * Updated logger based on PR requests (added default config options on failure/setting errors) * ah this should fix travici enc config issue * Load entire config and clear out logging to hopefully fix travisci issue * wording & test error handling * fixed formatting issues based on feedback * fixed formatting issues based on feedback * changed CheckDir to use mkdirall instead of mkdir and other changes based on feedback
This commit is contained in:
75
logger/logger_test.go
Normal file
75
logger/logger_test.go
Normal file
@@ -0,0 +1,75 @@
|
||||
package logger
|
||||
|
||||
import (
|
||||
"os"
|
||||
"path"
|
||||
"testing"
|
||||
)
|
||||
|
||||
var (
|
||||
trueptr = func(b bool) *bool { return &b }(true)
|
||||
falseptr = func(b bool) *bool { return &b }(false)
|
||||
)
|
||||
|
||||
func TestCloseLogFile(t *testing.T) {
|
||||
Logger = &Logging{
|
||||
Enabled: trueptr,
|
||||
Level: "DEBUG",
|
||||
ColourOutput: false,
|
||||
File: "",
|
||||
Rotate: false,
|
||||
}
|
||||
SetupLogger()
|
||||
err := CloseLogFile()
|
||||
if err != nil {
|
||||
t.Fatalf("CloseLogFile failed with %v", err)
|
||||
}
|
||||
os.Remove(path.Join(LogPath, Logger.File))
|
||||
}
|
||||
|
||||
func TestSetupOutputsValidPath(t *testing.T) {
|
||||
Logger.Enabled = trueptr
|
||||
Logger.File = "debug.txt"
|
||||
LogPath = "../testdata/"
|
||||
err := setupOutputs()
|
||||
if err != nil {
|
||||
t.Fatalf("SetupOutputs failed expected nil got %v", err)
|
||||
}
|
||||
os.Remove(path.Join(LogPath, Logger.File))
|
||||
}
|
||||
|
||||
func TestSetupOutputsInValidPath(t *testing.T) {
|
||||
Logger.Enabled = trueptr
|
||||
Logger.File = "debug.txt"
|
||||
LogPath = "../testdataa/"
|
||||
err := setupOutputs()
|
||||
if err != nil {
|
||||
if !os.IsNotExist(err) {
|
||||
t.Fatalf("SetupOutputs failed expected %v got %v", os.ErrNotExist, err)
|
||||
}
|
||||
}
|
||||
os.Remove(path.Join(LogPath, Logger.File))
|
||||
}
|
||||
|
||||
func BenchmarkDebugf(b *testing.B) {
|
||||
Logger = &Logging{
|
||||
Enabled: trueptr,
|
||||
Level: "DEBUG",
|
||||
ColourOutput: false,
|
||||
File: "",
|
||||
Rotate: false,
|
||||
}
|
||||
SetupLogger()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Debugf("This is a debug benchmark %d", n)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkDebugfLoggerDisabled(b *testing.B) {
|
||||
clearAllLoggers()
|
||||
b.ResetTimer()
|
||||
for n := 0; n < b.N; n++ {
|
||||
Debugf("this is a debug benchmark")
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user