summaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
Diffstat (limited to 'app')
-rw-r--r--app/app.go5
-rw-r--r--app/init.go36
2 files changed, 33 insertions, 8 deletions
diff --git a/app/app.go b/app/app.go
index 6fd3e7f..4ab44a4 100644
--- a/app/app.go
+++ b/app/app.go
@@ -3,7 +3,9 @@ package app
import (
"net/http"
+ "github.com/rs/zerolog"
"github.com/xlgmokha/x/pkg/ioc"
+ "github.com/xlgmokha/x/pkg/log"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/dashboard"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/health"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/sessions"
@@ -26,5 +28,6 @@ func New() http.Handler {
mux.Handle("GET /", http.FileServer(http.Dir("public")))
- return mux
+ logger := ioc.MustResolve[*zerolog.Logger](ioc.Default)
+ return log.HTTP(logger)(mux)
}
diff --git a/app/init.go b/app/init.go
index 8ef0602..5d05a44 100644
--- a/app/init.go
+++ b/app/init.go
@@ -2,12 +2,14 @@ package app
import (
"context"
- "fmt"
- "log"
"net/http"
+ "os"
+ "github.com/rs/zerolog"
"github.com/xlgmokha/x/pkg/env"
"github.com/xlgmokha/x/pkg/ioc"
+ "github.com/xlgmokha/x/pkg/log"
+ "github.com/xlgmokha/x/pkg/mapper"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/dashboard"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/health"
"gitlab.com/gitlab-org/software-supply-chain-security/authorization/sparkled/app/controllers/sessions"
@@ -18,17 +20,33 @@ import (
)
type transport struct {
+ logger *zerolog.Logger
}
func (r *transport) RoundTrip(request *http.Request) (*http.Response, error) {
+ ctx := r.logger.WithContext(request.Context())
+
+ defer func() {
+ log.WithFields(ctx, mapper.MapFrom[*http.Request, log.Fields](request))
+ zerolog.Ctx(ctx).Print()
+ }()
+
response, err := http.DefaultTransport.RoundTrip(request)
- if err == nil {
- fmt.Printf("%v: %v %v\n", response.StatusCode, request.Method, request.URL)
+ if err != nil {
+ r.logger.Err(err)
+ return response, err
}
- return response, err
+
+ log.WithFields(ctx, log.Fields{
+ "status_code": response.StatusCode,
+ })
+ return response, nil
}
func init() {
+ ioc.RegisterSingleton[*zerolog.Logger](ioc.Default, func() *zerolog.Logger {
+ return log.New(os.Stdout, log.Fields{})
+ })
ioc.RegisterSingleton[db.Repository](ioc.Default, func() db.Repository {
return db.NewRepository()
})
@@ -45,7 +63,11 @@ func init() {
return health.New()
})
ioc.RegisterSingleton[*http.Client](ioc.Default, func() *http.Client {
- return &http.Client{Transport: &transport{}}
+ return &http.Client{
+ Transport: &transport{
+ logger: ioc.MustResolve[*zerolog.Logger](ioc.Default),
+ },
+ }
})
ioc.RegisterSingleton[*oidc.OpenID](ioc.Default, func() *oidc.OpenID {
item, err := oidc.New(
@@ -56,7 +78,7 @@ func init() {
env.Fetch("OAUTH_REDIRECT_URL", "http://localhost:8080/session/callback"),
)
if err != nil {
- log.Fatal(err)
+ ioc.MustResolve[*zerolog.Logger](ioc.Default).Err(err).Send()
}
return item
})