Add logger interface and stop relying on Logrus directly
This commit is contained in:
@@ -10,9 +10,8 @@ import (
|
||||
// https://github.com/grpc/grpc-go/issues/711
|
||||
"golang.org/x/net/context"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/dexidp/dex/api"
|
||||
"github.com/dexidp/dex/pkg/log"
|
||||
"github.com/dexidp/dex/server/internal"
|
||||
"github.com/dexidp/dex/storage"
|
||||
"github.com/dexidp/dex/version"
|
||||
@@ -34,7 +33,7 @@ const (
|
||||
)
|
||||
|
||||
// NewAPI returns a server which implements the gRPC API interface.
|
||||
func NewAPI(s storage.Storage, logger logrus.FieldLogger) api.DexServer {
|
||||
func NewAPI(s storage.Storage, logger log.Logger) api.DexServer {
|
||||
return dexAPI{
|
||||
s: s,
|
||||
logger: logger,
|
||||
@@ -43,7 +42,7 @@ func NewAPI(s storage.Storage, logger logrus.FieldLogger) api.DexServer {
|
||||
|
||||
type dexAPI struct {
|
||||
s storage.Storage
|
||||
logger logrus.FieldLogger
|
||||
logger log.Logger
|
||||
}
|
||||
|
||||
func (d dexAPI) CreateClient(ctx context.Context, req *api.CreateClientReq) (*api.CreateClientResp, error) {
|
||||
|
@@ -11,6 +11,7 @@ import (
|
||||
"google.golang.org/grpc"
|
||||
|
||||
"github.com/dexidp/dex/api"
|
||||
"github.com/dexidp/dex/pkg/log"
|
||||
"github.com/dexidp/dex/server/internal"
|
||||
"github.com/dexidp/dex/storage"
|
||||
"github.com/dexidp/dex/storage/memory"
|
||||
@@ -28,7 +29,7 @@ type apiClient struct {
|
||||
}
|
||||
|
||||
// newAPI constructs a gRCP client connected to a backing server.
|
||||
func newAPI(s storage.Storage, logger logrus.FieldLogger, t *testing.T) *apiClient {
|
||||
func newAPI(s storage.Storage, logger log.Logger, t *testing.T) *apiClient {
|
||||
l, err := net.Listen("tcp", "127.0.0.1:0")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
@@ -57,11 +58,11 @@ func newAPI(s storage.Storage, logger logrus.FieldLogger, t *testing.T) *apiClie
|
||||
|
||||
// Attempts to create, update and delete a test Password
|
||||
func TestPassword(t *testing.T) {
|
||||
logger := &logrus.Logger{
|
||||
logger := log.NewLogrusLogger(&logrus.Logger{
|
||||
Out: os.Stderr,
|
||||
Formatter: &logrus.TextFormatter{DisableColors: true},
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
})
|
||||
|
||||
s := memory.New(logger)
|
||||
client := newAPI(s, logger, t)
|
||||
@@ -122,11 +123,11 @@ func TestPassword(t *testing.T) {
|
||||
|
||||
// Ensures checkCost returns expected values
|
||||
func TestCheckCost(t *testing.T) {
|
||||
logger := &logrus.Logger{
|
||||
logger := log.NewLogrusLogger(&logrus.Logger{
|
||||
Out: os.Stderr,
|
||||
Formatter: &logrus.TextFormatter{DisableColors: true},
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
})
|
||||
|
||||
s := memory.New(logger)
|
||||
client := newAPI(s, logger, t)
|
||||
@@ -179,11 +180,11 @@ func TestCheckCost(t *testing.T) {
|
||||
|
||||
// Attempts to list and revoke an exisiting refresh token.
|
||||
func TestRefreshToken(t *testing.T) {
|
||||
logger := &logrus.Logger{
|
||||
logger := log.NewLogrusLogger(&logrus.Logger{
|
||||
Out: os.Stderr,
|
||||
Formatter: &logrus.TextFormatter{DisableColors: true},
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
})
|
||||
|
||||
s := memory.New(logger)
|
||||
client := newAPI(s, logger, t)
|
||||
@@ -292,11 +293,11 @@ func TestRefreshToken(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestUpdateClient(t *testing.T) {
|
||||
logger := &logrus.Logger{
|
||||
logger := log.NewLogrusLogger(&logrus.Logger{
|
||||
Out: os.Stderr,
|
||||
Formatter: &logrus.TextFormatter{DisableColors: true},
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
})
|
||||
|
||||
s := memory.New(logger)
|
||||
client := newAPI(s, logger, t)
|
||||
|
@@ -12,8 +12,7 @@ import (
|
||||
|
||||
"gopkg.in/square/go-jose.v2"
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/dexidp/dex/pkg/log"
|
||||
"github.com/dexidp/dex/storage"
|
||||
)
|
||||
|
||||
@@ -62,7 +61,7 @@ type keyRotater struct {
|
||||
strategy rotationStrategy
|
||||
now func() time.Time
|
||||
|
||||
logger logrus.FieldLogger
|
||||
logger log.Logger
|
||||
}
|
||||
|
||||
// startKeyRotation begins key rotation in a new goroutine, closing once the context is canceled.
|
||||
|
@@ -8,6 +8,7 @@ import (
|
||||
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/dexidp/dex/pkg/log"
|
||||
"github.com/dexidp/dex/storage"
|
||||
"github.com/dexidp/dex/storage/memory"
|
||||
)
|
||||
@@ -67,11 +68,11 @@ func TestKeyRotater(t *testing.T) {
|
||||
// Only the last 5 verification keys are expected to be kept around.
|
||||
maxVerificationKeys := 5
|
||||
|
||||
l := &logrus.Logger{
|
||||
l := log.NewLogrusLogger(&logrus.Logger{
|
||||
Out: os.Stderr,
|
||||
Formatter: &logrus.TextFormatter{DisableColors: true},
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
})
|
||||
|
||||
r := &keyRotater{
|
||||
Storage: memory.New(l),
|
||||
|
@@ -16,12 +16,6 @@ import (
|
||||
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
|
||||
"github.com/felixge/httpsnoop"
|
||||
"github.com/gorilla/handlers"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
"github.com/sirupsen/logrus"
|
||||
|
||||
"github.com/dexidp/dex/connector"
|
||||
"github.com/dexidp/dex/connector/authproxy"
|
||||
"github.com/dexidp/dex/connector/bitbucketcloud"
|
||||
@@ -34,7 +28,12 @@ import (
|
||||
"github.com/dexidp/dex/connector/mock"
|
||||
"github.com/dexidp/dex/connector/oidc"
|
||||
"github.com/dexidp/dex/connector/saml"
|
||||
"github.com/dexidp/dex/pkg/log"
|
||||
"github.com/dexidp/dex/storage"
|
||||
"github.com/felixge/httpsnoop"
|
||||
"github.com/gorilla/handlers"
|
||||
"github.com/gorilla/mux"
|
||||
"github.com/prometheus/client_golang/prometheus"
|
||||
)
|
||||
|
||||
// LocalConnector is the local passwordDB connector which is an internal
|
||||
@@ -80,7 +79,7 @@ type Config struct {
|
||||
|
||||
Web WebConfig
|
||||
|
||||
Logger logrus.FieldLogger
|
||||
Logger log.Logger
|
||||
|
||||
PrometheusRegistry *prometheus.Registry
|
||||
}
|
||||
@@ -142,7 +141,7 @@ type Server struct {
|
||||
idTokensValidFor time.Duration
|
||||
authRequestsValidFor time.Duration
|
||||
|
||||
logger logrus.FieldLogger
|
||||
logger log.Logger
|
||||
}
|
||||
|
||||
// NewServer constructs a server from the provided config.
|
||||
@@ -431,7 +430,7 @@ func (s *Server) startGarbageCollection(ctx context.Context, frequency time.Dura
|
||||
|
||||
// ConnectorConfig is a configuration that can open a connector.
|
||||
type ConnectorConfig interface {
|
||||
Open(id string, logger logrus.FieldLogger) (connector.Connector, error)
|
||||
Open(id string, logger log.Logger) (connector.Connector, error)
|
||||
}
|
||||
|
||||
// ConnectorsConfig variable provides an easy way to return a config struct
|
||||
@@ -454,7 +453,7 @@ var ConnectorsConfig = map[string]func() ConnectorConfig{
|
||||
}
|
||||
|
||||
// openConnector will parse the connector config and open the connector.
|
||||
func openConnector(logger logrus.FieldLogger, conn storage.Connector) (connector.Connector, error) {
|
||||
func openConnector(logger log.Logger, conn storage.Connector) (connector.Connector, error) {
|
||||
var c connector.Connector
|
||||
|
||||
f, ok := ConnectorsConfig[conn.Type]
|
||||
|
@@ -30,6 +30,7 @@ import (
|
||||
|
||||
"github.com/dexidp/dex/connector"
|
||||
"github.com/dexidp/dex/connector/mock"
|
||||
"github.com/dexidp/dex/pkg/log"
|
||||
"github.com/dexidp/dex/storage"
|
||||
"github.com/dexidp/dex/storage/memory"
|
||||
)
|
||||
@@ -74,11 +75,11 @@ FDWV28nTP9sqbtsmU8Tem2jzMvZ7C/Q0AuDoKELFUpux8shm8wfIhyaPnXUGZoAZ
|
||||
Np4vUwMSYV5mopESLWOg3loBxKyLGFtgGKVCjGiQvy6zISQ4fQo=
|
||||
-----END RSA PRIVATE KEY-----`)
|
||||
|
||||
var logger = &logrus.Logger{
|
||||
var logger = log.NewLogrusLogger(&logrus.Logger{
|
||||
Out: os.Stderr,
|
||||
Formatter: &logrus.TextFormatter{DisableColors: true},
|
||||
Level: logrus.DebugLevel,
|
||||
}
|
||||
})
|
||||
|
||||
func newTestServer(ctx context.Context, t *testing.T, updateConfig func(c *Config)) (*httptest.Server, *Server) {
|
||||
var server *Server
|
||||
|
Reference in New Issue
Block a user