aboutsummaryrefslogblamecommitdiffstats
path: root/logging/logger.go
blob: 0e87fe06abfb9aaf6442adb9a4c581888785840d (plain) (tree)
1
2
3
4
5



               
            




















                                                                                      
                                                             










                                                       
                                                                                         








                                                       
                                                                                          








                                                       
                                                                                          








                                                       
                                                                                         
 
package logging

import (
	"fmt"
	"io"
	"log"
	"os"
)

var (
	dbg  *log.Logger
	info *log.Logger
	warn *log.Logger
	err  *log.Logger
)

func Init() {
	flags := log.Ldate | log.Ltime | log.Lmicroseconds | log.Lshortfile | log.LUTC
	dbg = log.New(os.Stdout, "DEBUG ", flags)
	info = log.New(os.Stdout, "INFO  ", flags)
	warn = log.New(os.Stdout, "WARN  ", flags)
	err = log.New(os.Stdout, "ERROR ", flags)
}

func ErrorLogger() *log.Logger {
	if err == nil {
		return log.New(io.Discard, "", log.LstdFlags)
	}
	return err
}

func Debugf(message string, args ...interface{}) {
	if dbg == nil {
		return
	}
	if len(args) > 0 {
		message = fmt.Sprintf(message, args...)
	}
	dbg.Output(2, message) //nolint:errcheck // we can't do anything with what we log
}

func Infof(message string, args ...interface{}) {
	if info == nil {
		return
	}
	if len(args) > 0 {
		message = fmt.Sprintf(message, args...)
	}
	info.Output(2, message) //nolint:errcheck // we can't do anything with what we log
}

func Warnf(message string, args ...interface{}) {
	if warn == nil {
		return
	}
	if len(args) > 0 {
		message = fmt.Sprintf(message, args...)
	}
	warn.Output(2, message) //nolint:errcheck // we can't do anything with what we log
}

func Errorf(message string, args ...interface{}) {
	if err == nil {
		return
	}
	if len(args) > 0 {
		message = fmt.Sprintf(message, args...)
	}
	err.Output(2, message) //nolint:errcheck // we can't do anything with what we log
}