From 8303ec794a9459d98d2d55d264d322f354ed8431 Mon Sep 17 00:00:00 2001 From: Tim Ross Date: Wed, 25 Sep 2024 16:47:15 -0400 Subject: [PATCH] fix: don't log entire audit event --- lib/events/complete.go | 6 +++++- lib/events/eventstest/channel.go | 13 +++++++++---- lib/events/session_writer.go | 4 ++-- 3 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/events/complete.go b/lib/events/complete.go index 98031c9f9bbb2..a67d4f2cbe5e0 100644 --- a/lib/events/complete.go +++ b/lib/events/complete.go @@ -428,7 +428,11 @@ loop: return trace.BadParameter("invalid session, could not find session start") } - u.log.InfoContext(ctx, "emitting event for completed session", "event", sessionEndEvent, "session_id", uploadData.SessionID) + u.log.InfoContext(ctx, "emitting event for completed session", + "event_type", sessionEndEvent.GetType(), + "event_code", sessionEndEvent.GetCode(), + "session_id", uploadData.SessionID, + ) sessionEndEvent.SetTime(lastEvent.GetTime()) diff --git a/lib/events/eventstest/channel.go b/lib/events/eventstest/channel.go index 4206c693ee171..5048b132a55e7 100644 --- a/lib/events/eventstest/channel.go +++ b/lib/events/eventstest/channel.go @@ -43,7 +43,7 @@ func NewChannelEmitter(capacity int) *ChannelEmitter { } func (e *ChannelEmitter) EmitAuditEvent(ctx context.Context, event apievents.AuditEvent) error { - e.log.InfoContext(ctx, "EmitAuditEvent", "event", event) + e.log.InfoContext(ctx, "EmitAuditEvent", "event_type", event.GetType(), "event_code", event.GetCode()) start := time.Now() for { select { @@ -53,7 +53,8 @@ func (e *ChannelEmitter) EmitAuditEvent(ctx context.Context, event apievents.Aud return nil case <-time.After(5 * time.Second): e.log.InfoContext(ctx, "EmitAuditEvent has been blocked sending to a full ChannelEmitter for a long time", - "event", event, + "event_type", event.GetType(), + "event_code", event.GetCode(), "elapsed", time.Since(start), ) } @@ -95,7 +96,10 @@ func (*ChannelRecorder) Write(b []byte) (int, error) { } func (e *ChannelRecorder) RecordEvent(ctx context.Context, event apievents.PreparedSessionEvent) error { - e.log.InfoContext(ctx, "RecordEvent", "event", event.GetAuditEvent()) + e.log.InfoContext(ctx, "RecordEvent", + "event_type", event.GetAuditEvent().GetType(), + "event_code", event.GetAuditEvent().GetCode(), + ) start := time.Now() for { select { @@ -105,7 +109,8 @@ func (e *ChannelRecorder) RecordEvent(ctx context.Context, event apievents.Prepa return nil case <-time.After(5 * time.Second): e.log.InfoContext(ctx, "RecordEvent has been blocked sending to a full ChannelRecorder for a long time", - "event", event.GetAuditEvent(), + "event_type", event.GetAuditEvent().GetType(), + "event_code", event.GetAuditEvent().GetCode(), "elapsed", time.Since(start), ) } diff --git a/lib/events/session_writer.go b/lib/events/session_writer.go index 279fa397a5913..0f52296b2332a 100644 --- a/lib/events/session_writer.go +++ b/lib/events/session_writer.go @@ -219,10 +219,10 @@ func (a *SessionWriter) Write(data []byte) (int, error) { for _, event := range events { event, err := a.cfg.Preparer.PrepareSessionEvent(event) if err != nil { - a.log.ErrorContext(a.closeCtx, "failed to setup event", "error", err, "event", event) + a.log.ErrorContext(a.closeCtx, "failed to setup event", "error", err, "event", event.GetAuditEvent().GetType()) } if err := a.RecordEvent(a.cfg.Context, event); err != nil { - a.log.ErrorContext(a.closeCtx, "failed to emit event", "error", err, "event", event) + a.log.ErrorContext(a.closeCtx, "failed to emit event", "error", err, "event", event.GetAuditEvent().GetType()) return 0, trace.Wrap(err) } }