diff --git a/src/internal/connector/exchange/api/contacts.go b/src/internal/connector/exchange/api/contacts.go index 4a44f1e67..4bb85927e 100644 --- a/src/internal/connector/exchange/api/contacts.go +++ b/src/internal/connector/exchange/api/contacts.go @@ -3,6 +3,7 @@ package api import ( "context" "fmt" + "os" "github.com/alcionai/clues" "github.com/microsoft/kiota-abstractions-go/serialization" @@ -15,6 +16,7 @@ import ( "github.com/alcionai/corso/src/internal/connector/graph/api" "github.com/alcionai/corso/src/pkg/backup/details" "github.com/alcionai/corso/src/pkg/fault" + "github.com/alcionai/corso/src/pkg/logger" "github.com/alcionai/corso/src/pkg/selectors" ) @@ -245,6 +247,20 @@ func (c Contacts) GetAddedAndRemovedItemIDs( builder := service.Client().UsersById(user).ContactFoldersById(directoryID).Contacts().Delta() pgr := &contactPager{service, builder, options} + if len(os.Getenv("CORSO_URL_LOGGING")) > 0 { + gri, err := builder.ToGetRequestInformation(ctx, options) + if err != nil { + logger.Ctx(ctx).Errorw("getting builder info", "error", err) + } else { + uri, err := gri.GetUri() + if err != nil { + logger.Ctx(ctx).Errorw("getting builder uri", "error", err) + } else { + logger.Ctx(ctx).Infow("contact builder", "user", user, "directoryID", directoryID, "uri", uri) + } + } + } + added, removed, deltaURL, err := getItemsAddedAndRemovedFromContainer(ctx, pgr) if err != nil { return nil, nil, DeltaUpdate{}, err diff --git a/src/internal/connector/exchange/api/events.go b/src/internal/connector/exchange/api/events.go index a35d266d1..6b6eb7ad3 100644 --- a/src/internal/connector/exchange/api/events.go +++ b/src/internal/connector/exchange/api/events.go @@ -3,6 +3,7 @@ package api import ( "context" "fmt" + "os" "time" "github.com/alcionai/clues" @@ -17,6 +18,7 @@ import ( "github.com/alcionai/corso/src/internal/connector/graph/api" "github.com/alcionai/corso/src/pkg/backup/details" "github.com/alcionai/corso/src/pkg/fault" + "github.com/alcionai/corso/src/pkg/logger" "github.com/alcionai/corso/src/pkg/path" ) @@ -272,6 +274,20 @@ func (c Events) GetAddedAndRemovedItemIDs( builder := users.NewItemCalendarsItemEventsDeltaRequestBuilder(rawURL, service.Adapter()) pgr := &eventPager{service, builder, nil} + if len(os.Getenv("CORSO_URL_LOGGING")) > 0 { + gri, err := builder.ToGetRequestInformation(ctx, nil) + if err != nil { + logger.Ctx(ctx).Errorw("getting builder info", "error", err) + } else { + uri, err := gri.GetUri() + if err != nil { + logger.Ctx(ctx).Errorw("getting builder uri", "error", err) + } else { + logger.Ctx(ctx).Infow("calendar builder", "user", user, "directoryID", calendarID, "uri", uri) + } + } + } + added, removed, deltaURL, err := getItemsAddedAndRemovedFromContainer(ctx, pgr) if err != nil { return nil, nil, DeltaUpdate{}, err diff --git a/src/internal/connector/exchange/api/mail.go b/src/internal/connector/exchange/api/mail.go index 7845b42d7..8102b776f 100644 --- a/src/internal/connector/exchange/api/mail.go +++ b/src/internal/connector/exchange/api/mail.go @@ -3,6 +3,7 @@ package api import ( "context" "fmt" + "os" "github.com/alcionai/clues" "github.com/microsoft/kiota-abstractions-go/serialization" @@ -15,6 +16,7 @@ import ( "github.com/alcionai/corso/src/internal/connector/graph/api" "github.com/alcionai/corso/src/pkg/backup/details" "github.com/alcionai/corso/src/pkg/fault" + "github.com/alcionai/corso/src/pkg/logger" "github.com/alcionai/corso/src/pkg/selectors" ) @@ -283,6 +285,20 @@ func (c Mail) GetAddedAndRemovedItemIDs( builder := service.Client().UsersById(user).MailFoldersById(directoryID).Messages().Delta() pgr := &mailPager{service, builder, options} + if len(os.Getenv("CORSO_URL_LOGGING")) > 0 { + gri, err := builder.ToGetRequestInformation(ctx, options) + if err != nil { + logger.Ctx(ctx).Errorw("getting builder info", "error", err) + } else { + uri, err := gri.GetUri() + if err != nil { + logger.Ctx(ctx).Errorw("getting builder uri", "error", err) + } else { + logger.Ctx(ctx).Infow("mail builder", "user", user, "directoryID", directoryID, "uri", uri) + } + } + } + added, removed, deltaURL, err := getItemsAddedAndRemovedFromContainer(ctx, pgr) if err != nil { return nil, nil, DeltaUpdate{}, err diff --git a/src/internal/connector/graph/service.go b/src/internal/connector/graph/service.go index c1320d836..781914133 100644 --- a/src/internal/connector/graph/service.go +++ b/src/internal/connector/graph/service.go @@ -4,6 +4,7 @@ import ( "net/http" "net/http/httputil" "os" + "strings" "time" "github.com/Azure/azure-sdk-for-go/sdk/azidentity" @@ -263,6 +264,12 @@ func (handler *LoggingMiddleware) Intercept( resp, err = pipeline.Next(req, middlewareIndex) ) + if len(os.Getenv("CORSO_URL_LOGGING")) > 0 { + if strings.Contains(req.URL.String(), "users//") { + logger.Ctx(ctx).Errorw("malformed request url: missing user", "url", req.URL) + } + } + if resp == nil { return resp, err }