Files
gocryptotrader/logger/loggers.go
Andrew d01e7bad72 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
2019-01-08 21:56:22 +11:00

81 lines
2.3 KiB
Go

package logger
import (
"fmt"
"log"
"os"
)
// Info handler takes any input returns unformatted output to infoLogger writer
func Info(v ...interface{}) {
infoLogger.Print(v...)
}
// Infof handler takes any input infoLogger returns formatted output to infoLogger writer
func Infof(data string, v ...interface{}) {
infoLogger.Printf(data, v...)
}
// Infoln handler takes any input infoLogger returns formatted output to infoLogger writer
func Infoln(v ...interface{}) {
infoLogger.Println(v...)
}
// Print aliased to Standard log.Print
var Print = log.Print
// Printf aliased to Standard log.Printf
var Printf = log.Printf
// Println aliased to Standard log.Println
var Println = log.Println
// Debug handler takes any input returns unformatted output to infoLogger writer
func Debug(v ...interface{}) {
debugLogger.Print(v...)
}
// Debugf handler takes any input infoLogger returns formatted output to infoLogger writer
func Debugf(data string, v ...interface{}) {
debugLogger.Printf(data, v...)
}
// Debugln handler takes any input infoLogger returns formatted output to infoLogger writer
func Debugln(v ...interface{}) {
debugLogger.Println(v...)
}
// Warn handler takes any input returns unformatted output to warnLogger writer
func Warn(v ...interface{}) {
warnLogger.Print(v...)
}
// Warnf handler takes any input returns unformatted output to warnLogger writer
func Warnf(data string, v ...interface{}) {
warnLogger.Printf(data, v...)
}
// Error handler takes any input returns unformatted output to errorLogger writer
func Error(v ...interface{}) {
errorLogger.Print(v...)
}
// Errorf handler takes any input returns unformatted output to errorLogger writer
func Errorf(data string, v ...interface{}) {
errorLogger.Printf(data, v...)
}
// Fatal handler takes any input returns unformatted output to fatalLogger writer
func Fatal(v ...interface{}) {
// Send to Output instead of Fatal to allow us to increase the output depth by 1 to make sure the correct file is displayed
fatalLogger.Output(2, fmt.Sprint(v...))
os.Exit(1)
}
// Fatalf handler takes any input returns unformatted output to fatalLogger writer
func Fatalf(data string, v ...interface{}) {
// Send to Output instead of Fatal to allow us to increase the output depth by 1 to make sure the correct file is displayed
fatalLogger.Output(2, fmt.Sprintf(data, v...))
os.Exit(1)
}