Slashdot Mirror


User: Ajay+Soni

Ajay+Soni's activity in the archive.

Stories
0
Comments
1
First seen
Last seen
Profile
(view on slashdot.org)

Comments · 1

  1. Suggested format for async logging on Debugging Asynchronous Applications? · · Score: 1

    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:

    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',' 437'}})

    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-i d) direction: method-or-event-name(parameters)

    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