@@ -203,6 +203,7 @@ def session_server_main
203203 def process_event evt
204204 # variable `@internal_info` is only used for test
205205 tc , output , ev , @internal_info , *ev_args = evt
206+ DEBUGGER__ . debug_event ( tc , ev , ev_args , direction : ">" )
206207 output . each { |str | @ui . puts str } if ev != :suspend
207208
208209 case ev
@@ -2030,6 +2031,33 @@ def self.info msg
20302031 log :INFO , msg
20312032 end
20322033
2034+ def self . debug msg
2035+ log :DEBUG , msg
2036+ end
2037+
2038+ # to avoid computing the large number of debug strings unnecessarily
2039+ DEBUG_MODE = CONFIG [ :log_level ] == :DEBUG
2040+
2041+ def self . debug_event ( tc , ev , ev_args , direction :)
2042+ return unless DEBUG_MODE
2043+ DEBUGGER__ . debug ( "#{ direction } Event (#{ ev } ): #{ ev_args } | #{ tc } " )
2044+ end
2045+
2046+ def self . debug_mode ( tc , old_mode , new_mode )
2047+ return unless DEBUG_MODE
2048+ DEBUGGER__ . debug ( "Mode: #{ old_mode } -> #{ new_mode } | #{ tc } " )
2049+ end
2050+
2051+ def self . debug_cmd ( tc , cmd , direction :)
2052+ return unless DEBUG_MODE
2053+ DEBUGGER__ . debug ( "#{ direction } Cmd #{ cmd } | #{ tc } " )
2054+ end
2055+
2056+ def self . debug_suspend ( tc , event )
2057+ return unless DEBUG_MODE
2058+ DEBUGGER__ . debug ( "Suspend #{ event } | #{ tc } " )
2059+ end
2060+
20332061 def self . log level , msg
20342062 @logfile = STDERR unless defined? @logfile
20352063
0 commit comments