mirror of https://github.com/grafana/grafana.git
Zanzana: Simple logger wrapper for openfga (#89396)
* Zanzana: Simple logger wrapper for openfga * don't export
This commit is contained in:
parent
d46df10d30
commit
b3907ca5ec
|
@ -0,0 +1,86 @@
|
||||||
|
package zanzana
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
|
||||||
|
"go.uber.org/zap"
|
||||||
|
|
||||||
|
"github.com/grafana/grafana/pkg/infra/log"
|
||||||
|
)
|
||||||
|
|
||||||
|
// zanzanaLogger is a grafana logger wrapper compatible with OpenFGA logger interface
|
||||||
|
type zanzanaLogger struct {
|
||||||
|
logger *log.ConcreteLogger
|
||||||
|
}
|
||||||
|
|
||||||
|
func newZanzanaLogger() *zanzanaLogger {
|
||||||
|
logger := log.New("openfga-server")
|
||||||
|
|
||||||
|
return &zanzanaLogger{
|
||||||
|
logger: logger,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Simple converter for zap logger fields
|
||||||
|
func zapFieldsToArgs(fields []zap.Field) []any {
|
||||||
|
args := make([]any, 0)
|
||||||
|
for _, f := range fields {
|
||||||
|
args = append(args, f.Key)
|
||||||
|
if f.Interface != nil {
|
||||||
|
args = append(args, f.Interface)
|
||||||
|
} else if f.String != "" {
|
||||||
|
args = append(args, f.String)
|
||||||
|
} else {
|
||||||
|
args = append(args, f.Integer)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return args
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) Debug(msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Debug(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) Info(msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Info(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) Warn(msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Warn(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) Error(msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Error(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) Panic(msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Error(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) Fatal(msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Error(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) DebugWithContext(ctx context.Context, msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Debug(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) InfoWithContext(ctx context.Context, msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Info(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) WarnWithContext(ctx context.Context, msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Warn(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) ErrorWithContext(ctx context.Context, msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Error(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) PanicWithContext(ctx context.Context, msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Error(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (l *zanzanaLogger) FatalWithContext(ctx context.Context, msg string, fields ...zap.Field) {
|
||||||
|
l.logger.Error(msg, zapFieldsToArgs(fields)...)
|
||||||
|
}
|
|
@ -1,7 +1,6 @@
|
||||||
package zanzana
|
package zanzana
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/openfga/openfga/pkg/logger"
|
|
||||||
"github.com/openfga/openfga/pkg/server"
|
"github.com/openfga/openfga/pkg/server"
|
||||||
"github.com/openfga/openfga/pkg/storage"
|
"github.com/openfga/openfga/pkg/storage"
|
||||||
)
|
)
|
||||||
|
@ -10,8 +9,7 @@ func NewServer(store storage.OpenFGADatastore) (*server.Server, error) {
|
||||||
// FIXME(kalleep): add support for more options, configure logging, tracing etc
|
// FIXME(kalleep): add support for more options, configure logging, tracing etc
|
||||||
opts := []server.OpenFGAServiceV1Option{
|
opts := []server.OpenFGAServiceV1Option{
|
||||||
server.WithDatastore(store),
|
server.WithDatastore(store),
|
||||||
// FIXME(kalleep): Write and log adapter for open fga logging interface
|
server.WithLogger(newZanzanaLogger()),
|
||||||
server.WithLogger(logger.NewNoopLogger()),
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// FIXME(kalleep): Interceptors
|
// FIXME(kalleep): Interceptors
|
||||||
|
|
Loading…
Reference in New Issue