@@ -749,45 +749,48 @@ func (v *Viper) find(key string) interface{} {
749
749
// PFlag Override first
750
750
flag , exists := v .pflags [key ]
751
751
if exists && flag .HasChanged () {
752
- jww .TRACE .Println ( key , " found in override (via pflag):" , flag .ValueString ())
752
+ jww .TRACE .Printf ( "%q found in pflag override (%s): %s" , key , flag . ValueType () , flag .ValueString ())
753
753
switch flag .ValueType () {
754
754
case "int" , "int8" , "int16" , "int32" , "int64" :
755
755
return cast .ToInt (flag .ValueString ())
756
756
case "bool" :
757
757
return cast .ToBool (flag .ValueString ())
758
+ case "stringSlice" :
759
+ s := strings .TrimPrefix (flag .ValueString (), "[" )
760
+ return strings .TrimSuffix (s , "]" )
758
761
default :
759
762
return flag .ValueString ()
760
763
}
761
764
}
762
765
763
766
val , exists = v .override [key ]
764
767
if exists {
765
- jww .TRACE .Println ( key , " found in override:" , val )
768
+ jww .TRACE .Printf ( "%q found in override: %s" , key , val )
766
769
return val
767
770
}
768
771
769
772
if v .automaticEnvApplied {
770
773
// even if it hasn't been registered, if automaticEnv is used,
771
774
// check any Get request
772
775
if val = v .getEnv (v .mergeWithEnvPrefix (key )); val != "" {
773
- jww .TRACE .Println ( key , " found in environment with val:" , val )
776
+ jww .TRACE .Printf ( "%q found in environment: %s" , key , val )
774
777
return val
775
778
}
776
779
}
777
780
778
781
envkey , exists := v .env [key ]
779
782
if exists {
780
- jww .TRACE .Println ( key , " registered as env var" , envkey )
783
+ jww .TRACE .Printf ( "%q registered as env var %q" , key , envkey )
781
784
if val = v .getEnv (envkey ); val != "" {
782
- jww .TRACE .Println ( envkey , " found in environment with val:" , val )
785
+ jww .TRACE .Printf ( "%q found in environment: %s" , envkey , val )
783
786
return val
784
787
}
785
- jww .TRACE .Println ( envkey , " env value unset:" )
788
+ jww .TRACE .Printf ( "%q env value unset" , envkey )
786
789
}
787
790
788
791
val , exists = v .config [key ]
789
792
if exists {
790
- jww .TRACE .Println ( key , " found in config:" , val )
793
+ jww .TRACE .Printf ( "%q found in config (%T): %s" , key , val , val )
791
794
return val
792
795
}
793
796
@@ -800,7 +803,7 @@ func (v *Viper) find(key string) interface{} {
800
803
if reflect .TypeOf (source ).Kind () == reflect .Map {
801
804
val := v .searchMap (cast .ToStringMap (source ), path [1 :])
802
805
if val != nil {
803
- jww .TRACE .Println ( key , " found in nested config:" , val )
806
+ jww .TRACE .Printf ( "%q found in nested config: %s" , key , val )
804
807
return val
805
808
}
806
809
}
@@ -809,13 +812,13 @@ func (v *Viper) find(key string) interface{} {
809
812
810
813
val , exists = v .kvstore [key ]
811
814
if exists {
812
- jww .TRACE .Println ( key , " found in key/value store:" , val )
815
+ jww .TRACE .Printf ( "%q found in key/value store: %s" , key , val )
813
816
return val
814
817
}
815
818
816
819
val , exists = v .defaults [key ]
817
820
if exists {
818
- jww .TRACE .Println ( key , " found in defaults:" , val )
821
+ jww .TRACE .Printf ( "%q found in defaults: " , key , val )
819
822
return val
820
823
}
821
824
0 commit comments