Files
gocryptotrader/log/loggers.go
Ryan O'Hara-Reid ac692b04f4 log: fix bug, expand test coverage and slightly optimize (#847)
* 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
2021-11-30 16:43:27 +11:00

131 lines
3.4 KiB
Go

package log
import (
"fmt"
"log"
)
// Info takes a pointer subLogger struct and string sends to newLogEvent
func Info(sl *SubLogger, data string) {
fields := sl.getFields()
if fields == nil || !fields.info {
return
}
displayError(fields.logger.newLogEvent(data,
fields.logger.InfoHeader,
fields.name,
fields.output))
}
// Infoln takes a pointer subLogger struct and interface sends to newLogEvent
func Infoln(sl *SubLogger, v ...interface{}) {
fields := sl.getFields()
if fields == nil || !fields.info {
return
}
displayError(fields.logger.newLogEvent(fmt.Sprintln(v...),
fields.logger.InfoHeader,
fields.name,
fields.output))
}
// Infof takes a pointer subLogger struct, string & interface formats and sends to Info()
func Infof(sl *SubLogger, data string, v ...interface{}) {
Info(sl, fmt.Sprintf(data, v...))
}
// Debug takes a pointer subLogger struct and string sends to multiwriter
func Debug(sl *SubLogger, data string) {
fields := sl.getFields()
if fields == nil || !fields.debug {
return
}
displayError(fields.logger.newLogEvent(data,
fields.logger.DebugHeader,
fields.name,
fields.output))
}
// Debugln takes a pointer subLogger struct, string and interface sends to newLogEvent
func Debugln(sl *SubLogger, v ...interface{}) {
fields := sl.getFields()
if fields == nil || !fields.debug {
return
}
displayError(fields.logger.newLogEvent(fmt.Sprintln(v...),
fields.logger.DebugHeader,
fields.name,
fields.output))
}
// Debugf takes a pointer subLogger struct, string & interface formats and sends to Info()
func Debugf(sl *SubLogger, data string, v ...interface{}) {
Debug(sl, fmt.Sprintf(data, v...))
}
// Warn takes a pointer subLogger struct & string and sends to newLogEvent()
func Warn(sl *SubLogger, data string) {
fields := sl.getFields()
if fields == nil || !fields.warn {
return
}
displayError(fields.logger.newLogEvent(data,
fields.logger.WarnHeader,
fields.name,
fields.output))
}
// Warnln takes a pointer subLogger struct & interface formats and sends to newLogEvent()
func Warnln(sl *SubLogger, v ...interface{}) {
fields := sl.getFields()
if fields == nil || !fields.warn {
return
}
displayError(fields.logger.newLogEvent(fmt.Sprintln(v...),
fields.logger.WarnHeader,
fields.name,
fields.output))
}
// Warnf takes a pointer subLogger struct, string & interface formats and sends to Warn()
func Warnf(sl *SubLogger, data string, v ...interface{}) {
Warn(sl, fmt.Sprintf(data, v...))
}
// Error takes a pointer subLogger struct & interface formats and sends to newLogEvent()
func Error(sl *SubLogger, data ...interface{}) {
fields := sl.getFields()
if fields == nil || !fields.error {
return
}
displayError(fields.logger.newLogEvent(fmt.Sprint(data...),
fields.logger.ErrorHeader,
fields.name,
fields.output))
}
// Errorln takes a pointer subLogger struct, string & interface formats and sends to newLogEvent()
func Errorln(sl *SubLogger, v ...interface{}) {
fields := sl.getFields()
if fields == nil || !fields.error {
return
}
displayError(fields.logger.newLogEvent(fmt.Sprintln(v...),
fields.logger.ErrorHeader,
fields.name,
fields.output))
}
// Errorf takes a pointer subLogger struct, string & interface formats and sends to Debug()
func Errorf(sl *SubLogger, data string, v ...interface{}) {
Error(sl, fmt.Sprintf(data, v...))
}
func displayError(err error) {
if err != nil {
log.Printf("Logger write error: %v\n", err)
}
}