From 96f00cbe64b5b41a0774a990a38a655a21241be9 Mon Sep 17 00:00:00 2001 From: "a.petraki" <a.petraki@perx.ru> Date: Mon, 19 Feb 2024 16:38:50 +0300 Subject: [PATCH] =?UTF-8?q?=D0=92=D1=8B=D0=BD=D0=B5=D1=81=D0=B5=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2=D0=B0=D1=8F=20=D0=BB?= =?UTF-8?q?=D0=BE=D0=B3=D0=B8=D0=BA=D0=B0=20=D1=80=D0=B0=D0=B1=D0=BE=D1=82?= =?UTF-8?q?=D1=8B=20=D1=81=20zap=20=D0=B2=20=D0=BF=D0=B0=D0=BA=D0=B5=D1=82?= =?UTF-8?q?=20zap?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- log/zap/core_test.go | 15 ++++++++------- log/zap/example_test.go | 19 ++++++++++--------- log/zap/channel_core.go => zap/channels.go | 2 +- .../channels_test.go | 0 {log/zap => zap}/field.go | 0 {log/zap => zap}/field_test.go | 0 {log/zap => zap}/filter_core.go | 12 +++--------- {log/zap => zap}/filter_core_test.go | 2 +- 8 files changed, 23 insertions(+), 27 deletions(-) rename log/zap/channel_core.go => zap/channels.go (97%) rename log/zap/channel_core_test.go => zap/channels_test.go (100%) rename {log/zap => zap}/field.go (100%) rename {log/zap => zap}/field_test.go (100%) rename {log/zap => zap}/filter_core.go (90%) rename {log/zap => zap}/filter_core_test.go (94%) diff --git a/log/zap/core_test.go b/log/zap/core_test.go index f78916cb..51b222bd 100644 --- a/log/zap/core_test.go +++ b/log/zap/core_test.go @@ -5,6 +5,7 @@ import ( "git.perx.ru/perxis/perxis-go/id" "git.perx.ru/perxis/perxis-go/log" + zap2 "git.perx.ru/perxis/perxis-go/zap" "github.com/stretchr/testify/require" "go.uber.org/zap" "go.uber.org/zap/zapcore" @@ -30,13 +31,13 @@ func TestCore_getEntry(t *testing.T) { entry: zapcore.Entry{Level: zapcore.InfoLevel, Message: "создан элемент коллекции"}, fields: []zapcore.Field{ zap.String("key", "val"), // будет проигнорировано - Category("create"), - Component("Items.Service"), - Event("Items.Create"), - Object("/spaces/WPNN/envs/9VGP/cols/GxNv/items/W0fl"), - Caller("/users/PHVz"), - Attr("any"), - Tags("tag1", "tag2", "tag3"), + zap2.Category("create"), + zap2.Component("Items.Service"), + zap2.Event("Items.Create"), + zap2.Object("/spaces/WPNN/envs/9VGP/cols/GxNv/items/W0fl"), + zap2.Caller("/users/PHVz"), + zap2.Attr("any"), + zap2.Tags("tag1", "tag2", "tag3"), }, }, want: &log.Entry{ diff --git a/log/zap/example_test.go b/log/zap/example_test.go index d99b83c2..ee51ef03 100644 --- a/log/zap/example_test.go +++ b/log/zap/example_test.go @@ -13,6 +13,7 @@ import ( "git.perx.ru/perxis/perxis-go/pkg/items" "git.perx.ru/perxis/perxis-go/pkg/users" usersmocks "git.perx.ru/perxis/perxis-go/pkg/users/mocks" + zap2 "git.perx.ru/perxis/perxis-go/zap" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" "go.uber.org/zap" @@ -69,23 +70,23 @@ func TestExample(t *testing.T) { // Пример отправки логов для сервиса Items { - logger := logger.With(Component("Items")) + logger := logger.With(zap2.Component("Items")) ctx := auth.WithPrincipal(context.Background(), factory.User("74d90aaf")) // Отправка лога при создании item logger.Info("Successfully created", - Event(items.EventCreateItem), - Object(item), - CallerFromContext(ctx), - Tags("tag1", "tag2", "tag3"), + zap2.Event(items.EventCreateItem), + zap2.Object(item), + zap2.CallerFromContext(ctx), + zap2.Tags("tag1", "tag2", "tag3"), ) // Отправка лога при обновлении item logger.Warn("Successfully updated", - Event(items.EventUpdateItem), - Object(item), - CallerFromContext(ctx), - Attr(map[string]map[string]any{"title": {"old": "old title", "new": "new title"}}), + zap2.Event(items.EventUpdateItem), + zap2.Object(item), + zap2.CallerFromContext(ctx), + zap2.Attr(map[string]map[string]any{"title": {"old": "old title", "new": "new title"}}), ) } diff --git a/log/zap/channel_core.go b/zap/channels.go similarity index 97% rename from log/zap/channel_core.go rename to zap/channels.go index 4eda6878..c67d2755 100644 --- a/log/zap/channel_core.go +++ b/zap/channels.go @@ -31,7 +31,7 @@ func NewDefaultChannelCore(core zapcore.Core, channel string) zapcore.Core { core, Or( HasChannel(channel), - Not(HasKey(channelKey)), + Not(ContainsKey(channelKey)), ), ) } diff --git a/log/zap/channel_core_test.go b/zap/channels_test.go similarity index 100% rename from log/zap/channel_core_test.go rename to zap/channels_test.go diff --git a/log/zap/field.go b/zap/field.go similarity index 100% rename from log/zap/field.go rename to zap/field.go diff --git a/log/zap/field_test.go b/zap/field_test.go similarity index 100% rename from log/zap/field_test.go rename to zap/field_test.go diff --git a/log/zap/filter_core.go b/zap/filter_core.go similarity index 90% rename from log/zap/filter_core.go rename to zap/filter_core.go index f60ba37d..16888f58 100644 --- a/log/zap/filter_core.go +++ b/zap/filter_core.go @@ -7,7 +7,7 @@ import ( type FilterFunc func(entry zapcore.Entry, fields []zapcore.Field) bool -func HasField(field zapcore.Field) FilterFunc { +func ContainsField(field zapcore.Field) FilterFunc { return func(_ zapcore.Entry, fields []zapcore.Field) bool { for _, f := range fields { if f.Equals(field) { @@ -18,13 +18,7 @@ func HasField(field zapcore.Field) FilterFunc { } } -func NotHasField(field zapcore.Field) FilterFunc { - return func(entry zapcore.Entry, fields []zapcore.Field) bool { - return !HasField(field)(entry, fields) - } -} - -func HasKey(key string) FilterFunc { +func ContainsKey(key string) FilterFunc { return func(entry zapcore.Entry, fields []zapcore.Field) bool { for _, f := range fields { if f.Key == key { @@ -70,7 +64,7 @@ type filterCore struct { // // l, _ := zap.NewDevelopment() // core := l.Core().With([]zapcore.Field{zap.Int("a", 5)}) -// core = RegisterFilters(core, HasField(zap.Int("a", 5))) +// core = RegisterFilters(core, ContainsField(zap.Int("a", 5))) // // logger := zap.New(core) // logger.Info("Test log") // НЕ будет записан diff --git a/log/zap/filter_core_test.go b/zap/filter_core_test.go similarity index 94% rename from log/zap/filter_core_test.go rename to zap/filter_core_test.go index 2cf2cf01..cb38f41c 100644 --- a/log/zap/filter_core_test.go +++ b/zap/filter_core_test.go @@ -11,7 +11,7 @@ import ( func TestFilterCore_Write(t *testing.T) { core, logs := observer.New(zapcore.InfoLevel) - core = RegisterFilters(core, HasField(zap.Bool("check", true))) + core = RegisterFilters(core, ContainsField(zap.Bool("check", true))) err := core.With([]zapcore.Field{zap.Bool("check", true)}).Write(zapcore.Entry{Message: "msg"}, nil) require.NoError(t, err) -- GitLab