vet/pkg/common/logger/logger.go
2023-02-21 19:42:44 +05:30

67 lines
1.1 KiB
Go

package logger
import (
"io"
"os"
"github.com/sirupsen/logrus"
)
func init() {
logrus.SetOutput(os.Stdout)
logrus.SetLevel(logrus.WarnLevel)
}
func LogToFile(path string) {
file, err := os.OpenFile(path, os.O_WRONLY|os.O_CREATE|os.O_APPEND, 0600)
if err != nil {
panic(err)
}
MigrateTo(file)
}
func MigrateTo(writer io.Writer) {
logrus.SetOutput(writer)
}
func SetLogLevel(verbose, debug bool) {
if verbose {
logrus.SetLevel(logrus.InfoLevel)
}
if debug {
logrus.SetLevel(logrus.DebugLevel)
}
}
func Infof(msg string, args ...any) {
logrus.Infof(msg, args...)
}
func Errorf(msg string, args ...any) {
logrus.Errorf(msg, args...)
}
func Warnf(msg string, args ...any) {
logrus.Warnf(msg, args...)
}
func Debugf(msg string, args ...any) {
logrus.Debugf(msg, args...)
}
func Fatalf(msg string, args ...any) {
logrus.Fatalf(msg, args...)
}
func LoggerWith(key string, value any) *logrus.Entry {
return logrus.WithFields(logrus.Fields{
key: value,
})
}
func LoggerWithError(err error) *logrus.Entry {
return LoggerWith("error", err.Error())
}