mirror of
https://github.com/d0zingcat/gocryptotrader.git
synced 2026-05-14 07:26:47 +00:00
* 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
76 lines
1.5 KiB
Go
76 lines
1.5 KiB
Go
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")
|
|
}
|
|
}
|