@@ -174,6 +174,14 @@ async def start_dual_channel_recording(
174174 try :
175175 s3_upload = self ._create_s3_upload ()
176176
177+ # Log S3 configuration for debugging
178+ logger .info (
179+ f"Starting egress with S3 config: "
180+ f"bucket={ self .config .s3_bucket } , "
181+ f"region={ self .config .aws_region } , "
182+ f"access_key_prefix={ self .config .aws_access_key [:4 ] if self .config .aws_access_key else 'None' } ..."
183+ )
184+
177185 # Build the filepath with prefix
178186 # Use session_id if provided for matching with transcript, otherwise use LiveKit's {time} placeholder
179187 filepath_prefix = (
@@ -324,10 +332,15 @@ async def _wait_for_completion(
324332 current_time = asyncio .get_event_loop ().time ()
325333 if complete_time is None :
326334 complete_time = current_time
327- logger .debug (
328- f"Egress completed but file_results not yet available, "
329- f"waiting up to { file_results_timeout } s for upload, "
330- f"egress_id={ egress_id } "
335+ # Log detailed egress info for debugging S3 upload issues
336+ logger .warning (
337+ f"Egress completed but file_results empty - "
338+ f"egress_id={ egress_info .egress_id } , "
339+ f"room_name={ egress_info .room_name } , "
340+ f"error={ egress_info .error or 'None' } , "
341+ f"stream_results={ egress_info .stream_results } , "
342+ f"segment_results={ egress_info .segment_results } , "
343+ f"waiting up to { file_results_timeout } s for upload"
331344 )
332345
333346 time_since_complete = current_time - complete_time
0 commit comments