mirror of
https://github.com/c9s/bbgo.git
synced 2024-11-10 09:11:55 +00:00
all: refactor log formatter functions
This commit is contained in:
parent
f3ce4c2cc6
commit
6cbb17fb76
48
pkg/bbgo/envvar.go
Normal file
48
pkg/bbgo/envvar.go
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
package bbgo
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
log "github.com/sirupsen/logrus"
|
||||||
|
prefixed "github.com/x-cray/logrus-prefixed-formatter"
|
||||||
|
)
|
||||||
|
|
||||||
|
func GetCurrentEnv() string {
|
||||||
|
env := os.Getenv("BBGO_ENV")
|
||||||
|
if env == "" {
|
||||||
|
env = "development"
|
||||||
|
}
|
||||||
|
|
||||||
|
return env
|
||||||
|
}
|
||||||
|
|
||||||
|
func NewLogFormatterWithEnv(env string) log.Formatter {
|
||||||
|
switch env {
|
||||||
|
case "production", "prod", "stag", "staging":
|
||||||
|
// always use json formatter for production and staging
|
||||||
|
return &log.JSONFormatter{}
|
||||||
|
}
|
||||||
|
|
||||||
|
return &prefixed.TextFormatter{}
|
||||||
|
}
|
||||||
|
|
||||||
|
type LogFormatterType string
|
||||||
|
|
||||||
|
const (
|
||||||
|
LogFormatterTypePrefixed LogFormatterType = "prefixed"
|
||||||
|
LogFormatterTypeText LogFormatterType = "text"
|
||||||
|
LogFormatterTypeJson LogFormatterType = "json"
|
||||||
|
)
|
||||||
|
|
||||||
|
func NewLogFormatter(logFormatter LogFormatterType) log.Formatter {
|
||||||
|
switch logFormatter {
|
||||||
|
case LogFormatterTypePrefixed:
|
||||||
|
return &prefixed.TextFormatter{}
|
||||||
|
case LogFormatterTypeText:
|
||||||
|
return &log.TextFormatter{}
|
||||||
|
case LogFormatterTypeJson:
|
||||||
|
return &log.JSONFormatter{}
|
||||||
|
}
|
||||||
|
|
||||||
|
return &prefixed.TextFormatter{}
|
||||||
|
}
|
|
@ -17,7 +17,6 @@ import (
|
||||||
log "github.com/sirupsen/logrus"
|
log "github.com/sirupsen/logrus"
|
||||||
"github.com/spf13/cobra"
|
"github.com/spf13/cobra"
|
||||||
"github.com/spf13/viper"
|
"github.com/spf13/viper"
|
||||||
prefixed "github.com/x-cray/logrus-prefixed-formatter"
|
|
||||||
|
|
||||||
"github.com/c9s/bbgo/pkg/bbgo"
|
"github.com/c9s/bbgo/pkg/bbgo"
|
||||||
"github.com/c9s/bbgo/pkg/util"
|
"github.com/c9s/bbgo/pkg/util"
|
||||||
|
@ -46,10 +45,7 @@ var RootCmd = &cobra.Command{
|
||||||
log.SetLevel(log.DebugLevel)
|
log.SetLevel(log.DebugLevel)
|
||||||
}
|
}
|
||||||
|
|
||||||
env := os.Getenv("BBGO_ENV")
|
env := bbgo.GetCurrentEnv()
|
||||||
if env == "" {
|
|
||||||
env = "development"
|
|
||||||
}
|
|
||||||
|
|
||||||
logFormatter, err := cmd.Flags().GetString("log-formatter")
|
logFormatter, err := cmd.Flags().GetString("log-formatter")
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -57,22 +53,11 @@ var RootCmd = &cobra.Command{
|
||||||
}
|
}
|
||||||
|
|
||||||
if len(logFormatter) == 0 {
|
if len(logFormatter) == 0 {
|
||||||
switch env {
|
formatter := bbgo.NewLogFormatterWithEnv(env)
|
||||||
case "production", "prod", "stag", "staging":
|
log.SetFormatter(formatter)
|
||||||
// always use json formatter for production and staging
|
|
||||||
log.SetFormatter(&log.JSONFormatter{})
|
|
||||||
default:
|
|
||||||
log.SetFormatter(&prefixed.TextFormatter{})
|
|
||||||
}
|
|
||||||
} else {
|
} else {
|
||||||
switch logFormatter {
|
formatter := bbgo.NewLogFormatter(bbgo.LogFormatterType(logFormatter))
|
||||||
case "prefixed":
|
log.SetFormatter(formatter)
|
||||||
log.SetFormatter(&prefixed.TextFormatter{})
|
|
||||||
case "text":
|
|
||||||
log.SetFormatter(&log.TextFormatter{})
|
|
||||||
case "json":
|
|
||||||
log.SetFormatter(&log.JSONFormatter{})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if token := viper.GetString("rollbar-token"); token != "" {
|
if token := viper.GetString("rollbar-token"); token != "" {
|
||||||
|
|
|
@ -8,7 +8,6 @@ import (
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/sirupsen/logrus"
|
"github.com/sirupsen/logrus"
|
||||||
prefixed "github.com/x-cray/logrus-prefixed-formatter"
|
|
||||||
"go.uber.org/multierr"
|
"go.uber.org/multierr"
|
||||||
"golang.org/x/time/rate"
|
"golang.org/x/time/rate"
|
||||||
|
|
||||||
|
@ -69,19 +68,8 @@ type LogFunction func(msg string, args ...interface{})
|
||||||
|
|
||||||
var debugf LogFunction
|
var debugf LogFunction
|
||||||
|
|
||||||
func isPrefixFormatterConfigured() bool {
|
|
||||||
_, isPrefixFormatter := logrus.StandardLogger().Formatter.(*prefixed.TextFormatter)
|
|
||||||
return isPrefixFormatter
|
|
||||||
}
|
|
||||||
|
|
||||||
func getDebugFunction() LogFunction {
|
func getDebugFunction() LogFunction {
|
||||||
if v, ok := util.GetEnvVarBool("DEBUG_BITGET"); ok && v {
|
if v, ok := util.GetEnvVarBool("DEBUG_BITGET"); ok && v {
|
||||||
if isPrefixFormatterConfigured() {
|
|
||||||
return func(msg string, args ...interface{}) {
|
|
||||||
log.Infof("[BITGET] "+msg, args...)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return log.Infof
|
return log.Infof
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user