@@ -56,10 +56,12 @@ with LSP.Ada_Handlers.Refactor.Replace_Type;
5656with LSP.Ada_Handlers.Refactor.Sort_Dependencies ;
5757with LSP.Ada_Handlers.Refactor.Suppress_Seperate ;
5858with LSP.Ada_Handlers.Suspend_Executions ;
59+ with LSP.GNATCOLL_Trace_Streams ;
5960with LSP.GNATCOLL_Tracers ;
6061with LSP.GPR_Handlers ;
6162with LSP.Memory_Statistics ;
6263with LSP.Predefined_Completion ;
64+ with LSP.Secure_Message_Loggers ;
6365with LSP.Servers ;
6466with LSP.Stdio_Streams ;
6567
@@ -127,6 +129,17 @@ procedure LSP.Ada_Driver is
127129 -- Traces that logs all input & output. For debugging purposes.
128130 Tracer : aliased LSP.GNATCOLL_Tracers.Tracer;
129131
132+ In_Stream : aliased LSP.GNATCOLL_Trace_Streams.Output_Text_Stream;
133+ -- Output stream for logging input messages into the trace
134+ In_Logger : aliased LSP.Secure_Message_Loggers.Server_Logger
135+ (In_Stream'Unchecked_Access);
136+ -- Logger for logging input messages
137+ Out_Stream : aliased LSP.GNATCOLL_Trace_Streams.Output_Text_Stream;
138+ -- Output stream for logging output messages into the trace
139+ Out_Logger : aliased LSP.Secure_Message_Loggers.Client_Logger
140+ (Out_Stream'Unchecked_Access);
141+ -- Logger for logging output messages
142+
130143 Server : aliased LSP.Servers.Server;
131144 Stream : aliased LSP.Stdio_Streams.Stdio_Stream;
132145 Ada_Handler : aliased LSP.Ada_Handlers.Message_Handler
@@ -268,6 +281,9 @@ begin
268281 end ;
269282 end if ;
270283
284+ In_Stream.Initialize (Server_Trace);
285+ Out_Stream.Initialize (Server_Trace);
286+
271287 Tracer.Initialize (Server_Trace, In_Trace, Out_Trace);
272288 Tracer.Trace (" ALS version: " & $VERSION & " (" & $BUILD_DATE & " )" );
273289
@@ -314,17 +330,17 @@ begin
314330 Server.Run
315331 (GPR_Handler'Unchecked_Access,
316332 Tracer'Unchecked_Access,
317- In_Logger => null ,
318- Out_Logger => null );
333+ In_Logger => In_Logger'Unchecked_Access ,
334+ Out_Logger => Out_Logger'Unchecked_Access );
319335
320336 else
321337 Register_Commands;
322338
323339 Server.Run
324340 (Ada_Handler'Unchecked_Access,
325341 Tracer'Unchecked_Access,
326- In_Logger => null ,
327- Out_Logger => null );
342+ In_Logger => In_Logger'Unchecked_Access ,
343+ Out_Logger => Out_Logger'Unchecked_Access );
328344 end if ;
329345 exception
330346 when E : others =>
0 commit comments