We develop complex telephony based systems that use AJAX, Web Services and CTI frameworks for environments of upto 650 users (multi site, multi web server and so). The only best way to debug asynchronous information is via logging (using log4cxx and log4net) as suggested by the others.
Because you have multiple threads and sub systems we find this log format to be the best for our environment:
message-type = {DEBUG | WARN | ERROR} direction = { > make a method call | < reply from call | E is an event from backend }
The only issue we have is that the line lengths can be long, but you should see everything nicely formated in a nice text editor such as TextPad, which autorefreshes when the log file changes.
We also put in the same log file the AJAX client logs too.
We develop complex telephony based systems that use AJAX, Web Services and CTI frameworks for environments of upto 650 users (multi site, multi web server and so). The only best way to debug asynchronous information is via logging (using log4cxx and log4net) as suggested by the others.
' 437'}})
i d) direction: method-or-event-name(parameters)
Because you have multiple threads and sub systems we find this log format to be the best for our environment:
Issue command example:
2006-02-07 12:02:58,385 DEBUG [7852] (ts.cs:1231) im_lib_aic613 - (5739:agent2200:1426:43e88c6) > : TS.AnswerVDU (vduid:=43e88c6d)
Asynchronous event caused by command example:
2006-02-07 12:02:58,619 DEBUG [5160] (ts.cs: 40) im_lib_aic613 - (5739:agent2200:1426:43e88c6) E: TS.Connect({{'vdu_id','43e88c6d'},{'call_ref_id',
Result of command example:
2006-02-07 12:02:58,619 DEBUG [7852] (ts.cs:1235) im_lib_aic613 - (5739:agent2200:14264:43e88c6) <: TS.AnswerVDU
The format is as follows:
@date time message-type [thread-id] (source-file:line-no) module-name - (backend-session-id:agent-id:our-session-id:call-
message-type = {DEBUG | WARN | ERROR}
direction = { > make a method call | < reply from call | E is an event from backend }
The only issue we have is that the line lengths can be long, but you should see everything nicely formated in a nice text editor such as TextPad, which autorefreshes when the log file changes.
We also put in the same log file the AJAX client logs too.
Hope this helps! - Ajay