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