mirror of
https://github.com/zitadel/zitadel.git
synced 2025-08-11 20:37:30 +00:00
logging for showcase
This commit is contained in:
@@ -2,6 +2,7 @@ package cached
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"log"
|
||||||
|
|
||||||
"github.com/zitadel/zitadel/backend/repository"
|
"github.com/zitadel/zitadel/backend/repository"
|
||||||
"github.com/zitadel/zitadel/backend/storage/cache"
|
"github.com/zitadel/zitadel/backend/storage/cache"
|
||||||
@@ -16,15 +17,18 @@ func NewInstance(c cache.Cache[repository.InstanceIndex, string, *repository.Ins
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (i *Instance) ByID(ctx context.Context, id string) *repository.Instance {
|
func (i *Instance) ByID(ctx context.Context, id string) *repository.Instance {
|
||||||
|
log.Println("cached.instance.byID")
|
||||||
instance, _ := i.Cache.Get(ctx, repository.InstanceByID, id)
|
instance, _ := i.Cache.Get(ctx, repository.InstanceByID, id)
|
||||||
return instance
|
return instance
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Instance) ByDomain(ctx context.Context, domain string) *repository.Instance {
|
func (i *Instance) ByDomain(ctx context.Context, domain string) *repository.Instance {
|
||||||
|
log.Println("cached.instance.byDomain")
|
||||||
instance, _ := i.Cache.Get(ctx, repository.InstanceByDomain, domain)
|
instance, _ := i.Cache.Get(ctx, repository.InstanceByDomain, domain)
|
||||||
return instance
|
return instance
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *Instance) Set(ctx context.Context, instance *repository.Instance) {
|
func (i *Instance) Set(ctx context.Context, instance *repository.Instance) {
|
||||||
|
log.Println("cached.instance.set")
|
||||||
i.Cache.Set(ctx, instance)
|
i.Cache.Set(ctx, instance)
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@ package cached
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"log"
|
||||||
|
|
||||||
"github.com/zitadel/zitadel/backend/repository"
|
"github.com/zitadel/zitadel/backend/repository"
|
||||||
"github.com/zitadel/zitadel/backend/storage/cache"
|
"github.com/zitadel/zitadel/backend/storage/cache"
|
||||||
@@ -16,10 +17,12 @@ func NewUser(c cache.Cache[repository.UserIndex, string, *repository.User]) *Use
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (i *User) ByID(ctx context.Context, id string) *repository.User {
|
func (i *User) ByID(ctx context.Context, id string) *repository.User {
|
||||||
|
log.Println("cached.user.byid")
|
||||||
user, _ := i.Cache.Get(ctx, repository.UserByIDIndex, id)
|
user, _ := i.Cache.Get(ctx, repository.UserByIDIndex, id)
|
||||||
return user
|
return user
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *User) Set(ctx context.Context, user *repository.User) {
|
func (i *User) Set(ctx context.Context, user *repository.User) {
|
||||||
|
log.Println("cached.user.set")
|
||||||
i.Cache.Set(ctx, user)
|
i.Cache.Set(ctx, user)
|
||||||
}
|
}
|
||||||
|
@@ -65,31 +65,36 @@ func (i *instance) Create(ctx context.Context, tx database.Transaction, instance
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (i *instance) ByID(ctx context.Context, querier database.Querier, id string) (*repository.Instance, error) {
|
func (i *instance) ByID(ctx context.Context, querier database.Querier, id string) (*repository.Instance, error) {
|
||||||
return handler.SkipNext(
|
return traced.Wrap(i.tracer, "instance.byID",
|
||||||
handler.SkipNilHandler(i.cache,
|
handler.SkipNext(
|
||||||
handler.ResFuncToHandle(i.cache.ByID),
|
handler.SkipNilHandler(i.cache,
|
||||||
),
|
handler.ResFuncToHandle(i.cache.ByID),
|
||||||
handler.Chain(
|
),
|
||||||
handler.Decorate(
|
handler.Chain(
|
||||||
sql.Query(querier).InstanceByID,
|
handler.Decorates(
|
||||||
traced.Decorate[string, *repository.Instance](i.tracer, tracing.WithSpanName("instance.sql.ByID")),
|
sql.Query(querier).InstanceByID,
|
||||||
|
traced.Decorate[string, *repository.Instance](i.tracer, tracing.WithSpanName("instance.sql.ByID")),
|
||||||
|
logged.Decorate[string, *repository.Instance](i.logger, "instance.sql.ByID"),
|
||||||
|
),
|
||||||
|
handler.SkipNilHandler(i.cache, handler.NoReturnToHandle(i.cache.Set)),
|
||||||
),
|
),
|
||||||
handler.SkipNilHandler(i.cache, handler.NoReturnToHandle(i.cache.Set)),
|
|
||||||
),
|
),
|
||||||
)(ctx, id)
|
)(ctx, id)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (i *instance) ByDomain(ctx context.Context, querier database.Querier, domain string) (*repository.Instance, error) {
|
func (i *instance) ByDomain(ctx context.Context, querier database.Querier, domain string) (*repository.Instance, error) {
|
||||||
return handler.SkipNext(
|
return traced.Wrap(i.tracer, "instance.byDomain",
|
||||||
handler.SkipNilHandler(i.cache,
|
handler.SkipNext(
|
||||||
handler.ResFuncToHandle(i.cache.ByDomain),
|
handler.SkipNilHandler(i.cache,
|
||||||
),
|
handler.ResFuncToHandle(i.cache.ByDomain),
|
||||||
handler.Chain(
|
),
|
||||||
handler.Decorate(
|
handler.Chain(
|
||||||
sql.Query(querier).InstanceByDomain,
|
handler.Decorate(
|
||||||
traced.Decorate[string, *repository.Instance](i.tracer, tracing.WithSpanName("instance.sql.ByDomain")),
|
sql.Query(querier).InstanceByDomain,
|
||||||
|
traced.Decorate[string, *repository.Instance](i.tracer, tracing.WithSpanName("instance.sql.ByDomain")),
|
||||||
|
),
|
||||||
|
handler.SkipNilHandler(i.cache, handler.NoReturnToHandle(i.cache.Set)),
|
||||||
),
|
),
|
||||||
handler.SkipNilHandler(i.cache, handler.NoReturnToHandle(i.cache.Set)),
|
|
||||||
),
|
),
|
||||||
)(ctx, domain)
|
)(ctx, domain)
|
||||||
}
|
}
|
||||||
|
@@ -2,6 +2,7 @@ package orchestrate_test
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"fmt"
|
||||||
"log/slog"
|
"log/slog"
|
||||||
"os"
|
"os"
|
||||||
"reflect"
|
"reflect"
|
||||||
@@ -112,6 +113,7 @@ func Test_instance_Create(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
fmt.Printf("------------------------ %s ------------------------\n", tt.name)
|
||||||
i := orchestrate.Instance(tt.opts...)
|
i := orchestrate.Instance(tt.opts...)
|
||||||
got, err := i.Create(tt.args.ctx, tt.args.tx, tt.args.instance)
|
got, err := i.Create(tt.args.ctx, tt.args.tx, tt.args.instance)
|
||||||
if (err != nil) != tt.wantErr {
|
if (err != nil) != tt.wantErr {
|
||||||
@@ -227,6 +229,7 @@ func Test_instance_ByID(t *testing.T) {
|
|||||||
}
|
}
|
||||||
for _, tt := range tests {
|
for _, tt := range tests {
|
||||||
t.Run(tt.name, func(t *testing.T) {
|
t.Run(tt.name, func(t *testing.T) {
|
||||||
|
fmt.Printf("------------------------ %s ------------------------\n", tt.name)
|
||||||
i := orchestrate.Instance(tt.opts...)
|
i := orchestrate.Instance(tt.opts...)
|
||||||
got, err := i.ByID(tt.args.ctx, tt.args.tx, tt.args.id)
|
got, err := i.ByID(tt.args.ctx, tt.args.tx, tt.args.id)
|
||||||
if (err != nil) != tt.wantErr {
|
if (err != nil) != tt.wantErr {
|
||||||
|
@@ -15,10 +15,10 @@ func Wrap[Req, Res any](logger *logging.Logger, name string, handle handler.Hand
|
|||||||
if logger == nil {
|
if logger == nil {
|
||||||
return handle
|
return handle
|
||||||
}
|
}
|
||||||
log.Println("log.wrap", name)
|
|
||||||
return func(ctx context.Context, r Req) (_ Res, err error) {
|
return func(ctx context.Context, r Req) (_ Res, err error) {
|
||||||
logger.Debug("execute", slog.String("handler", name))
|
logger.Debug("execute", slog.String("handler", name))
|
||||||
defer logger.Debug("done", slog.String("handler", name))
|
defer logger.Debug("done", slog.String("handler", name))
|
||||||
|
log.Println("log.wrap", name)
|
||||||
return handle(ctx, r)
|
return handle(ctx, r)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -32,7 +32,7 @@ func Decorate[Req, Res any](logger *logging.Logger, name string) handler.Decorat
|
|||||||
}
|
}
|
||||||
logger = logger.With("handler", name)
|
logger = logger.With("handler", name)
|
||||||
logger.DebugContext(ctx, "execute")
|
logger.DebugContext(ctx, "execute")
|
||||||
log.Println("log.decorate", name)
|
log.Println("logged.decorate", name)
|
||||||
defer func() {
|
defer func() {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
logger.ErrorContext(ctx, "failed", slog.String("cause", err.Error()))
|
logger.ErrorContext(ctx, "failed", slog.String("cause", err.Error()))
|
||||||
|
@@ -41,7 +41,7 @@ func Decorate[Req, Res any](tracer *tracing.Tracer, opts ...tracing.DecorateOpti
|
|||||||
for _, opt := range opts {
|
for _, opt := range opts {
|
||||||
opt(o)
|
opt(o)
|
||||||
}
|
}
|
||||||
log.Println("trace")
|
log.Println("traced.decorate")
|
||||||
|
|
||||||
ctx, end := o.Start(ctx, tracer)
|
ctx, end := o.Start(ctx, tracer)
|
||||||
defer end(err)
|
defer end(err)
|
||||||
|
Reference in New Issue
Block a user