Skip to content
Snippets Groups Projects
Commit 2ca2f414 authored by Semyon Krestyaninov's avatar Semyon Krestyaninov
Browse files

refactor

parent d3e403b0
No related branches found
No related tags found
No related merge requests found
package zap
import (
"context"
"fmt"
"git.perx.ru/perxis/perxis-go/pkg/auth"
"go.uber.org/zap"
"go.uber.org/zap/zapcore"
)
......@@ -24,38 +26,49 @@ func Event(event string) zapcore.Field {
return zap.String("event", event)
}
// Object возвращает поле и устанавливает передаваемый аргумент в качестве идентификатора объекта в формате GlobalID.
// Поддерживает один из типов: string, fmt.Stringer. Если передан аргумент другого типа, в качестве идентификатора объекта
// будет установлен "unknown".
// Object возвращает поле и устанавливает передаваемый аргумент в качестве идентификатора объекта в формате ObjectID.
// Поддерживаемые типы: string, fmt.Stringer.
// Если передан аргумент другого типа, будет произведена попытка привести переданное значение к ObjectID.
func Object(v any) zapcore.Field {
var object string
var object = unknownObject
switch value := v.(type) {
case string:
object = value
case fmt.Stringer:
object = value.String()
default:
object = unknownObject
oid, err := id.FromObject(v)
if err == nil {
object = oid.String()
}
}
return zap.String("object", object)
}
// Caller возвращает поле и устанавливает передаваемый аргумент в качестве "вызывающего" в формате GlobalID.
// Поддерживает один из типов: string, fmt.Stringer. Если передан аргумент другого типа, в качестве вызывающего
// будет установлен "unknown".
// Caller возвращает поле и устанавливает передаваемый аргумент в качестве "вызывающего" в формате ObjectID.
// Поддерживаемые типы: string, fmt.Stringer.
// Если передан аргумент другого типа, будет произведена попытка привести переданное значение к ObjectID.
func Caller(v any) zapcore.Field {
var caller string
var caller = unknownCaller
switch value := v.(type) {
case string:
caller = value
case fmt.Stringer:
caller = value.String()
default:
caller = unknownCaller
oid, err := id.FromObject(v)
if err == nil {
caller = oid.String()
}
}
return zap.String("caller", caller)
}
// CallerFromContext извлекает auth.Principal из контекста и устанавливает его в качестве "вызывающего" в формате ObjectID.
func CallerFromContext(ctx context.Context) zapcore.Field {
return Caller(auth.GetPrincipal(ctx))
}
func Attr(attr any) zapcore.Field {
return zap.Any("attr", attr)
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment