diff options
author | dakkar <dakkar@thenautilus.net> | 2024-12-19 09:57:42 +0000 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2024-12-19 09:57:42 +0000 |
commit | 3132bce2a8166e3f9818059af4de8d69a09bbf12 (patch) | |
tree | e92a1cbb61dba41a4a2dcd99ed72babb480e8ccf /factory | |
parent | minimal example (diff) | |
download | go-example-3132bce2a8166e3f9818059af4de8d69a09bbf12.tar.gz go-example-3132bce2a8166e3f9818059af4de8d69a09bbf12.tar.bz2 go-example-3132bce2a8166e3f9818059af4de8d69a09bbf12.zip |
move more code in the factory
Diffstat (limited to 'factory')
-rw-r--r-- | factory/factory.go | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/factory/factory.go b/factory/factory.go index ae84911..2acac39 100644 --- a/factory/factory.go +++ b/factory/factory.go @@ -1,9 +1,13 @@ package factory import ( + "fmt" + "os" + "github.com/rs/zerolog" "www.thenautilus.net/cgit/go-example/config" + "www.thenautilus.net/cgit/go-example/logging" "www.thenautilus.net/cgit/go-example/something" ) @@ -21,6 +25,24 @@ func New(logger zerolog.Logger, config *config.MainConfig) Factory { } } +func NewFromConfig() Factory { + config, err := config.GetMainConfig() + if err != nil { + fmt.Fprintf(os.Stderr, "%s\n", err) + os.Exit(1) + } + + log := logging.Logger(config.Logger) + + log.Info().Object("config", &config).Msg("configuration") + + return New(log, &config) +} + +func (f *Factory) Logger() zerolog.Logger { + return f.logger +} + func (f *Factory) Something() *something.Something { if f.something == nil { something := something.New( |