@@ -18,10 +18,12 @@ import (
1818 "maps"
1919 "strings"
2020
21+ "go.uber.org/zap/zapcore"
2122 "golang.org/x/exp/slices"
2223 "google.golang.org/protobuf/encoding/protojson"
2324
2425 "github.com/livekit/protocol/livekit"
26+ "github.com/livekit/protocol/logger"
2527 "github.com/livekit/protocol/utils"
2628)
2729
@@ -93,6 +95,20 @@ func (c *ClaimGrants) Clone() *ClaimGrants {
9395 return & clone
9496}
9597
98+ func (c * ClaimGrants ) MarshalLogObject (e zapcore.ObjectEncoder ) error {
99+ if c == nil {
100+ return nil
101+ }
102+
103+ e .AddString ("Identity" , c .Identity )
104+ e .AddString ("Kind" , c .Kind )
105+ e .AddObject ("Video" , c .Video )
106+ e .AddObject ("SIP" , c .SIP )
107+ e .AddObject ("RoomConfig" , logger .Proto ((* livekit .RoomConfiguration )(c .RoomConfig )))
108+ e .AddString ("RoomPreset" , c .RoomPreset )
109+ return nil
110+ }
111+
96112// -------------------------------------------------------------
97113
98114type VideoGrant struct {
@@ -323,6 +339,43 @@ func (v *VideoGrant) Clone() *VideoGrant {
323339 return & clone
324340}
325341
342+ func (v * VideoGrant ) MarshalLogObject (e zapcore.ObjectEncoder ) error {
343+ if v == nil {
344+ return nil
345+ }
346+
347+ logBoolPtr := func (prop string , val * bool ) {
348+ if val == nil {
349+ e .AddString (prop , "not-set" )
350+ } else {
351+ e .AddBool (prop , * val )
352+ }
353+ }
354+
355+ logBoolPtr ("RoomCreate" , & v .RoomCreate )
356+ logBoolPtr ("RoomList" , & v .RoomList )
357+ logBoolPtr ("RoomRecord" , & v .RoomRecord )
358+
359+ logBoolPtr ("RoomAdmin" , & v .RoomAdmin )
360+ logBoolPtr ("RoomJoin" , & v .RoomJoin )
361+ e .AddString ("Room" , v .Room )
362+
363+ logBoolPtr ("CanPublish" , v .CanPublish )
364+ logBoolPtr ("CanSubscribe" , v .CanSubscribe )
365+ logBoolPtr ("CanPublishData" , v .CanPublishData )
366+ e .AddArray ("CanPublishSources" , logger .StringSlice (v .CanPublishSources ))
367+ logBoolPtr ("CanUpdateOwnMetadata" , v .CanUpdateOwnMetadata )
368+
369+ logBoolPtr ("IngressAdmin" , & v .IngressAdmin )
370+
371+ logBoolPtr ("Hidden" , & v .Hidden )
372+ logBoolPtr ("Recorder" , & v .Recorder )
373+ logBoolPtr ("Agent" , & v .Agent )
374+
375+ logBoolPtr ("CanSubscribeMetrics" , v .CanSubscribeMetrics )
376+ return nil
377+ }
378+
326379// ----------------------------------------------------------------
327380
328381type SIPGrant struct {
@@ -343,6 +396,16 @@ func (s *SIPGrant) Clone() *SIPGrant {
343396 return & clone
344397}
345398
399+ func (s * SIPGrant ) MarshalLogObject (e zapcore.ObjectEncoder ) error {
400+ if s == nil {
401+ return nil
402+ }
403+
404+ e .AddBool ("Admin" , s .Admin )
405+ e .AddBool ("Call" , s .Call )
406+ return nil
407+ }
408+
346409// ------------------------------------------------------------------
347410
348411func sourceToString (source livekit.TrackSource ) string {
0 commit comments