| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- // Unless explicitly stated otherwise all files in this repository are licensed
- // under the Apache License Version 2.0.
- // This product includes software developed at Datadog (https://www.datadoghq.com/).
- // Copyright 2016 Datadog, Inc.
- package internal
- import (
- "os"
- "strconv"
- "time"
- "gopkg.in/DataDog/dd-trace-go.v1/internal/log"
- )
- // BoolEnv returns the parsed boolean value of an environment variable, or
- // def otherwise.
- func BoolEnv(key string, def bool) bool {
- vv, ok := os.LookupEnv(key)
- if !ok {
- return def
- }
- v, err := strconv.ParseBool(vv)
- if err != nil {
- log.Warn("Non-boolean value for env var %s, defaulting to %t. Parse failed with error: %v", key, def, err)
- return def
- }
- return v
- }
- // IntEnv returns the parsed int value of an environment variable, or
- // def otherwise.
- func IntEnv(key string, def int) int {
- vv, ok := os.LookupEnv(key)
- if !ok {
- return def
- }
- v, err := strconv.Atoi(vv)
- if err != nil {
- log.Warn("Non-integer value for env var %s, defaulting to %d. Parse failed with error: %v", key, def, err)
- return def
- }
- return v
- }
- // DurationEnv returns the parsed duration value of an environment variable, or
- // def otherwise.
- func DurationEnv(key string, def time.Duration) time.Duration {
- vv, ok := os.LookupEnv(key)
- if !ok {
- return def
- }
- v, err := time.ParseDuration(vv)
- if err != nil {
- log.Warn("Non-duration value for env var %s, defaulting to %d. Parse failed with error: %v", key, def, err)
- return def
- }
- return v
- }
|