bbgo_origin/pkg/util/envvars.go

55 lines
972 B
Go

package util
import (
"os"
"strconv"
"time"
"github.com/sirupsen/logrus"
)
func GetEnvVarDuration(n string) (time.Duration, bool) {
str, ok := os.LookupEnv(n)
if !ok {
return 0, false
}
du, err := time.ParseDuration(str)
if err != nil {
logrus.WithError(err).Errorf("can not parse env var %q as time.Duration, incorrect format", str)
return 0, false
}
return du, true
}
func GetEnvVarInt(n string) (int, bool) {
str, ok := os.LookupEnv(n)
if !ok {
return 0, false
}
num, err := strconv.Atoi(str)
if err != nil {
logrus.WithError(err).Errorf("can not parse env var %q as int, incorrect format", str)
return 0, false
}
return num, true
}
func GetEnvVarBool(n string) (bool, bool) {
str, ok := os.LookupEnv(n)
if !ok {
return false, false
}
num, err := strconv.ParseBool(str)
if err != nil {
logrus.WithError(err).Errorf("can not parse env var %q as bool, incorrect format", str)
return false, false
}
return num, true
}