config: add logger to options

Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
Василий Толстов 2020-12-07 19:27:08 +03:00
parent c7ed807129
commit 8fd745eab0
1 changed files with 13 additions and 6 deletions

View File

@ -4,17 +4,20 @@ import (
"context" "context"
"github.com/unistack-org/micro/v3/codec" "github.com/unistack-org/micro/v3/codec"
"github.com/unistack-org/micro/v3/logger"
) )
type Options struct { type Options struct {
BeforeLoad []func(context.Context, Config) error BeforeLoad []func(context.Context, Config) error
AfterLoad []func(context.Context, Config) error AfterLoad []func(context.Context, Config) error
BeforeSave []func(context.Context, Config) error BeforeSave []func(context.Context, Config) error
AfterSave []func(context.Context, Config) error AfterSave []func(context.Context, Config) error
// Struct that holds config data // Struct that holds config data
Struct interface{} Struct interface{}
// struct tag name // struct tag name
StructTag string StructTag string
// logger that will be used
Logger logger.Logger
// codec that used for load/save // codec that used for load/save
Codec codec.Codec Codec codec.Codec
// for alternative data // for alternative data
@ -54,12 +57,10 @@ func BeforeSave(fn ...func(context.Context, Config) error) Option {
func AfterSave(fn ...func(context.Context, Config) error) Option { func AfterSave(fn ...func(context.Context, Config) error) Option {
return func(o *Options) { return func(o *Options) {
o.AfterSave= fn o.AfterSave = fn
} }
} }
func Context(ctx context.Context) Option { func Context(ctx context.Context) Option {
return func(o *Options) { return func(o *Options) {
o.Context = ctx o.Context = ctx
@ -73,7 +74,13 @@ func Codec(c codec.Codec) Option {
} }
} }
// Struct func Logger(l logger.Logger) Option {
return func(o *Options) {
o.Logger = l
}
}
// Struct used as config
func Struct(v interface{}) Option { func Struct(v interface{}) Option {
return func(o *Options) { return func(o *Options) {
o.Struct = v o.Struct = v