Skip to content

Commit

Permalink
Added field request_id to logs (#773)
Browse files Browse the repository at this point in the history
  • Loading branch information
ian-sawyer authored Jun 15, 2022
1 parent a862495 commit ee7a494
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 5 deletions.
2 changes: 1 addition & 1 deletion bcda/logging/middleware.go
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ func (l *StructuredLogger) NewLogEntry(r *http.Request) middleware.LogEntry {
logFields["ts"] = time.Now().UTC().Format(time.RFC1123)

if reqID := middleware.GetReqID(r.Context()); reqID != "" {
logFields["req_id"] = reqID
logFields["request_id"] = reqID
}

scheme := "http"
Expand Down
1 change: 1 addition & 0 deletions bcda/logging/middleware_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,7 @@ type mockLogger struct {
func (l *mockLogger) NewLogEntry(r *http.Request) middleware.LogEntry {
return l.entry
}

func TestResourceTypeLogging(t *testing.T) {
testCases := []struct {
jobID string
Expand Down
9 changes: 5 additions & 4 deletions bcda/web/router.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"github.com/CMSgov/bcda-app/conf"

"github.com/go-chi/chi"
gcmw "github.com/go-chi/chi/middleware"
)

// Auth middleware checks that verifies that caller is authorized
Expand All @@ -28,7 +29,7 @@ var commonAuth = []func(http.Handler) http.Handler{
func NewAPIRouter() http.Handler {
r := chi.NewRouter()
m := monitoring.GetMonitor()
r.Use(auth.ParseToken, logging.NewStructuredLogger(), middleware.SecurityHeader, middleware.ConnectionClose)
r.Use(auth.ParseToken, gcmw.RequestID, logging.NewStructuredLogger(), middleware.SecurityHeader, middleware.ConnectionClose)

// Serve up the swagger ui folder
FileServer(r, "/api/v1/swagger", http.Dir("./swaggerui/v1"))
Expand Down Expand Up @@ -82,7 +83,7 @@ func NewAPIRouter() http.Handler {
}

func NewAuthRouter() http.Handler {
return auth.NewAuthRouter(logging.NewStructuredLogger(), middleware.SecurityHeader, middleware.ConnectionClose)
return auth.NewAuthRouter(gcmw.RequestID, logging.NewStructuredLogger(), middleware.SecurityHeader, middleware.ConnectionClose)
}

func NewDataRouter() http.Handler {
Expand All @@ -91,7 +92,7 @@ func NewDataRouter() http.Handler {
resourceTypeLogger := &logging.ResourceTypeLogger{
Repository: postgres.NewRepository(database.Connection),
}
r.Use(auth.ParseToken, logging.NewStructuredLogger(), middleware.SecurityHeader, middleware.ConnectionClose)
r.Use(auth.ParseToken, gcmw.RequestID, logging.NewStructuredLogger(), middleware.SecurityHeader, middleware.ConnectionClose)
r.With(append(
commonAuth,
auth.RequireTokenJobMatch,
Expand All @@ -103,7 +104,7 @@ func NewDataRouter() http.Handler {
func NewHTTPRouter() http.Handler {
r := chi.NewRouter()
m := monitoring.GetMonitor()
r.Use(middleware.ConnectionClose)
r.Use(gcmw.RequestID, middleware.ConnectionClose)
r.With(logging.NewStructuredLogger()).Get(m.WrapHandler("/*", http.HandlerFunc(func(w http.ResponseWriter, req *http.Request) {
url := "https://" + req.Host + req.URL.String()
http.Redirect(w, req, url, http.StatusMovedPermanently)
Expand Down

0 comments on commit ee7a494

Please sign in to comment.