Skip to content

Commit 8eb5a1b

Browse files
committed
refactor: added logger to Loader implementation
1 parent 0a31baa commit 8eb5a1b

File tree

1 file changed

+14
-3
lines changed

1 file changed

+14
-3
lines changed

env/loader.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,18 +17,23 @@ type (
1717
}
1818

1919
// DefaultLoader struct
20-
DefaultLoader struct{}
20+
DefaultLoader struct {
21+
logger *Logger
22+
}
2123
)
2224

2325
// NewDefaultLoader creates a new default environment variable loader
24-
func NewDefaultLoader(loadFn func() error) (*DefaultLoader, error) {
26+
func NewDefaultLoader(loadFn func() error, logger *Logger) (
27+
*DefaultLoader,
28+
error,
29+
) {
2530
// Execute the load function
2631
if loadFn != nil {
2732
if err := loadFn(); err != nil {
2833
return nil, ErrFailedToLoadEnvironmentVariables
2934
}
3035
}
31-
return &DefaultLoader{}, nil
36+
return &DefaultLoader{logger: logger}, nil
3237
}
3338

3439
// LoadVariable load variable from environment variables
@@ -44,6 +49,12 @@ func (d *DefaultLoader) LoadVariable(key string, dest *string) error {
4449
return fmt.Errorf(ErrEnvironmentVariableNotFound, key)
4550
}
4651
*dest = variable
52+
53+
// Log the environment variable
54+
if d.logger != nil {
55+
d.logger.EnvironmentVariableLoaded(key)
56+
}
57+
4758
return nil
4859
}
4960

0 commit comments

Comments
 (0)