Skip to content

Commit 4ff41d4

Browse files
committed
add fields to audit logger
1 parent 7279b9a commit 4ff41d4

File tree

1 file changed

+17
-9
lines changed
  • coderd/workspaceapps

1 file changed

+17
-9
lines changed

coderd/workspaceapps/db.go

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -419,6 +419,11 @@ func (p *DBTokenProvider) auditInitRequest(ctx context.Context, w http.ResponseW
419419
return
420420
}
421421

422+
userID := uuid.NullUUID{}
423+
if aReq.apiKey != nil {
424+
userID = uuid.NullUUID{Valid: true, UUID: aReq.apiKey.UserID}
425+
}
426+
422427
type additionalFields struct {
423428
audit.AdditionalFields
424429
SlugOrPort string `json:"slug_or_port,omitempty"`
@@ -438,14 +443,17 @@ func (p *DBTokenProvider) auditInitRequest(ctx context.Context, w http.ResponseW
438443
appInfo.SlugOrPort = aReq.dbReq.AppSlugOrPort
439444
}
440445

446+
logger := p.Logger.With(
447+
slog.F("workspace_id", aReq.dbReq.Workspace.ID),
448+
slog.F("agent_id", aReq.dbReq.Agent.ID),
449+
slog.F("app_id", aReq.dbReq.App.ID),
450+
slog.F("user_id", userID.UUID),
451+
slog.F("app_slug_or_port", appInfo.SlugOrPort),
452+
)
453+
441454
appInfoBytes, err := json.Marshal(appInfo)
442455
if err != nil {
443-
p.Logger.Error(ctx, "marshal additional fields failed", slog.Error(err))
444-
}
445-
446-
userID := uuid.NullUUID{}
447-
if aReq.apiKey != nil {
448-
userID = uuid.NullUUID{Valid: true, UUID: aReq.apiKey.UserID}
456+
logger.Error(ctx, "marshal additional fields failed", slog.Error(err))
449457
}
450458

451459
var (
@@ -489,7 +497,7 @@ func (p *DBTokenProvider) auditInitRequest(ctx context.Context, w http.ResponseW
489497
return nil
490498
}, nil)
491499
if err != nil {
492-
p.Logger.Error(ctx, "update workspace app audit session failed", slog.Error(err))
500+
logger.Error(ctx, "update workspace app audit session failed", slog.Error(err))
493501

494502
// Avoid spamming the audit log if deduplication failed, this should
495503
// only happen if there are problems communicating with the database.
@@ -528,7 +536,7 @@ func (p *DBTokenProvider) auditInitRequest(ctx context.Context, w http.ResponseW
528536
case aReq.dbReq.App.ID != uuid.Nil:
529537
audit.BackgroundAudit(ctx, &audit.BackgroundAuditParams[database.WorkspaceApp]{
530538
Audit: auditor,
531-
Log: p.Logger,
539+
Log: logger,
532540

533541
Action: database.AuditActionOpen,
534542
OrganizationID: aReq.dbReq.Workspace.OrganizationID,
@@ -545,7 +553,7 @@ func (p *DBTokenProvider) auditInitRequest(ctx context.Context, w http.ResponseW
545553
// Web terminal, port app, etc.
546554
audit.BackgroundAudit(ctx, &audit.BackgroundAuditParams[database.WorkspaceAgent]{
547555
Audit: auditor,
548-
Log: p.Logger,
556+
Log: logger,
549557

550558
Action: database.AuditActionOpen,
551559
OrganizationID: aReq.dbReq.Workspace.OrganizationID,

0 commit comments

Comments
 (0)