jmap: minor logging improvements

This commit is contained in:
Pascal Bleser
2025-08-28 16:32:10 +02:00
parent 724c44567b
commit fc938bc4bc
4 changed files with 12 additions and 10 deletions

View File

@@ -30,7 +30,7 @@ const (
logFetchBodies = "fetch-bodies"
logOffset = "offset"
logLimit = "limit"
logApiUrl = "apiurl"
logEndpoint = "endpoint"
logDownloadUrl = "downloadurl"
logBlobId = "blobId"
logUploadUrl = "downloadurl"

View File

@@ -55,6 +55,7 @@ type UploadedBlob struct {
}
func (j *Client) UploadBlobStream(accountId string, session *Session, ctx context.Context, logger *log.Logger, contentType string, body io.Reader) (UploadedBlob, Error) {
logger = log.From(logger.With().Str(logEndpoint, session.UploadEndpoint))
aid := session.BlobAccountId(accountId)
// TODO(pbleser-oc) use a library for proper URL template parsing
uploadUrl := strings.ReplaceAll(session.UploadUrlTemplate, "{accountId}", aid)
@@ -62,6 +63,7 @@ func (j *Client) UploadBlobStream(accountId string, session *Session, ctx contex
}
func (j *Client) DownloadBlobStream(accountId string, blobId string, name string, typ string, session *Session, ctx context.Context, logger *log.Logger) (*BlobDownload, Error) {
logger = log.From(logger.With().Str(logEndpoint, session.DownloadEndpoint))
aid := session.BlobAccountId(accountId)
// TODO(pbleser-oc) use a library for proper URL template parsing
downloadUrl := session.DownloadUrlTemplate

View File

@@ -19,9 +19,9 @@ func (j *Client) Close() error {
return j.api.Close()
}
func NewClient(sessionClient SessionClient, api ApiClient, blob BlobClient) Client {
func NewClient(session SessionClient, api ApiClient, blob BlobClient) Client {
return Client{
session: sessionClient,
session: session,
api: api,
blob: blob,
sessionEventListeners: newEventListeners[SessionEventListener](),
@@ -47,16 +47,16 @@ func (j *Client) FetchSession(username string, logger *log.Logger) (Session, Err
return newSession(wk)
}
func (j *Client) logger(accountId string, operation string, session *Session, logger *log.Logger) *log.Logger {
l := logger.With().Str(logOperation, operation).Str(logUsername, session.Username)
func (j *Client) logger(accountId string, operation string, _ *Session, logger *log.Logger) *log.Logger {
l := logger.With().Str(logOperation, operation)
if accountId != "" {
l = l.Str(logAccountId, accountId)
}
return log.From(l)
}
func (j *Client) loggerParams(accountId string, operation string, session *Session, logger *log.Logger, params func(zerolog.Context) zerolog.Context) *log.Logger {
l := logger.With().Str(logOperation, operation).Str(logUsername, session.Username)
func (j *Client) loggerParams(accountId string, operation string, _ *Session, logger *log.Logger, params func(zerolog.Context) zerolog.Context) *log.Logger {
l := logger.With().Str(logOperation, operation)
if accountId != "" {
l = l.Str(logAccountId, accountId)
}

View File

@@ -128,9 +128,9 @@ func (s *Session) SubmissionAccountId(accountId string) string {
// Create a new log.Logger that is decorated with fields containing information about the Session.
func (s Session) DecorateLogger(l log.Logger) *log.Logger {
return log.From(l.With().
Str(logUsername, s.Username).
Str(logApiUrl, s.ApiUrl).
Str(logSessionState, string(s.State)))
Str(logUsername, log.SafeString(s.Username)).
Str(logEndpoint, log.SafeString(s.JmapEndpoint)).
Str(logSessionState, log.SafeString(string(s.State))))
}
func endpointOf(u *url.URL) string {