11package config
22
33import (
4- "fmt"
54 "log"
65 "os"
76 "reflect"
@@ -24,7 +23,7 @@ type Configurator interface {
2423func GetEnvString (config Configurator , field string ) string {
2524 defer func () {
2625 if r := recover (); r != nil {
27- log .Fatalln ( r )
26+ log .Panicf ( "configurator has no field named '%s'" , field )
2827 }
2928 }()
3029 value , exists := os .LookupEnv (field )
@@ -39,7 +38,7 @@ func GetEnvString(config Configurator, field string) string {
3938func GetEnvBool (config Configurator , field string ) bool {
4039 defer func () {
4140 if r := recover (); r != nil {
42- log .Fatalln ( r )
41+ log .Panicf ( "configurator has no field named '%s'" , field )
4342 }
4443 }()
4544 value , err := strconv .ParseBool (os .Getenv (field ))
@@ -54,7 +53,7 @@ func GetEnvBool(config Configurator, field string) bool {
5453func GetEnvInt (config Configurator , field string ) int {
5554 defer func () {
5655 if r := recover (); r != nil {
57- log .Fatalln ( r )
56+ log .Panicf ( "configurator has no field named '%s'" , field )
5857 }
5958 }()
6059 value , err := strconv .Atoi (os .Getenv (field ))
@@ -69,7 +68,7 @@ func GetEnvInt(config Configurator, field string) int {
6968func GetEnvFloat (config Configurator , field string ) float64 {
7069 defer func () {
7170 if r := recover (); r != nil {
72- log .Fatalln ( r )
71+ log .Panicf ( "configurator has no field named '%s'" , field )
7372 }
7473 }()
7574 value , err := strconv .ParseFloat (os .Getenv (field ), 64 )
@@ -89,7 +88,7 @@ func getString(c any, field string) string {
8988 result := field_value .String ()
9089 re := regexp .MustCompile (`<[a-zA-Z]*\sValue>` )
9190 if re .MatchString (result ) {
92- panic ( fmt . Sprintf ( "env var not in config struct: `%v` " , field ) )
91+ log . Panicf ( "configurator has no field named '%s' " , field )
9392 }
9493 return result
9594}
@@ -116,7 +115,7 @@ func getNonString(c any, field string) reflect.Value {
116115 defer func () {
117116 //catch panic when field does not exist
118117 if r := recover (); r != nil {
119- panic ( fmt . Sprintf ( "env var not in config struct: `%v` " , field ) )
118+ log . Panicf ( "configurator has no field named '%s' " , field )
120119 }
121120 }()
122121 c_value := reflect .ValueOf (c )
0 commit comments