to options mode

This commit is contained in:
yanghao05
2023-04-27 18:30:39 +08:00
parent 8ae3d19aa9
commit 574736a878
20 changed files with 180 additions and 50 deletions

View File

@@ -1,5 +1,7 @@
package log
const DefaultKeyPrefix = "Log"
type Config struct {
Level Level
}

View File

@@ -2,20 +2,25 @@ package log
import (
"github.com/rogeecn/atom/container"
"github.com/rogeecn/atom/providers"
"go.uber.org/dig"
"go.uber.org/zap"
)
func Provide(config *Config, opts ...dig.ProvideOption) error {
logger, err := newZapLogger(config)
func Provide(o *providers.Options) error {
var config Config
if err := o.UnmarshalConfig(&config); err != nil {
return err
}
logger, err := newZapLogger(&config)
if err != nil {
return err
}
defaultLogger = logger
return container.Container.Provide(func() (*Logger, error) {
return defaultLogger, nil
}, opts...)
}, o.DiOptions()...)
}
var defaultLogger *Logger