mirror of
https://github.com/wailsapp/wails.git
synced 2025-05-03 06:01:52 +08:00
48 lines
1.2 KiB
Go
48 lines
1.2 KiB
Go
package logger
|
|
|
|
import (
|
|
"os"
|
|
"strings"
|
|
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
// GlobalLogger is the global logger
|
|
var GlobalLogger = logrus.New()
|
|
|
|
// Fields is used by the customLogger object to output
|
|
// fields along with a message
|
|
type Fields map[string]interface{}
|
|
|
|
// Default options for the global logger
|
|
func init() {
|
|
GlobalLogger.SetOutput(os.Stdout)
|
|
GlobalLogger.SetLevel(logrus.DebugLevel)
|
|
}
|
|
|
|
// ErrorFields is a helper for logging fields to the global logger
|
|
func ErrorFields(message string, fields Fields) {
|
|
GlobalLogger.WithFields(map[string]interface{}(fields)).Error(message)
|
|
}
|
|
|
|
// SetLogLevel sets the log level to the given level
|
|
func SetLogLevel(level string) {
|
|
switch strings.ToLower(level) {
|
|
case "info":
|
|
GlobalLogger.SetLevel(logrus.InfoLevel)
|
|
case "debug":
|
|
GlobalLogger.SetLevel(logrus.DebugLevel)
|
|
case "warn":
|
|
GlobalLogger.SetLevel(logrus.WarnLevel)
|
|
case "error":
|
|
GlobalLogger.SetLevel(logrus.ErrorLevel)
|
|
case "fatal":
|
|
GlobalLogger.SetLevel(logrus.FatalLevel)
|
|
case "panic":
|
|
GlobalLogger.SetLevel(logrus.PanicLevel)
|
|
default:
|
|
GlobalLogger.SetLevel(logrus.DebugLevel)
|
|
GlobalLogger.Warnf("Log level '%s' not recognised. Setting to Debug.", level)
|
|
}
|
|
}
|