fork download
  1. import re
  2. import sys
  3.  
  4. log = re.compile(r'(\d\d:\d\d:\d\d,\d\d\d) \[mess-id-([^]]*)\] (.*?)\s*$', re.S)
  5.  
  6. current = {}
  7. buf = ''
  8.  
  9. fh = sys.stdin
  10.  
  11. while True:
  12. line = fh.readline()
  13. if line:
  14. m = log.match(line)
  15. if not m:
  16. buf += line
  17. continue
  18. if buf:
  19. m = log.match(buf)
  20. mess_time, mid, mess = m.groups()
  21. if mid in current:
  22. if mess == 'Outgoing SOAP response:':
  23. current[mid]['state'] = 'out'
  24. elif mess == 'Exit: LogHandler::invoke':
  25. if current[mid]['state'] == 'out':
  26. print(mid, current[mid], "\n")
  27. del current[mid]
  28. else:
  29. current[mid]['state'] = ''
  30. else:
  31. if current[mid]['state'] and mess.startswith('<?xml'):
  32. state = current[mid]['state']
  33. current[mid][state] = mess
  34. else:
  35. if mess == 'Incoming SOAP request:':
  36. current[mid] = {'state': 'in'}
  37. if not line:
  38. break
  39. buf = line
  40.  
  41. fh.close()
  42.  
Success #stdin #stdout 0.02s 9392KB
stdin
09:33:17,640 [mess-id-10] Enter: LogHandler::invoke
09:33:17,640 [mess-id-10] Incoming SOAP request:
09:33:17,642 [mess-id-1] committing database transaction
09:33:17,642 [mess-id-1] releasing database connection
09:33:17,642 [mess-id-1] outputResponse..start
09:33:17,642 [mess-id-1] outputResponse..end
09:33:17,642 [mess-id-1] Enter: LogHandler::invoke
09:33:17,642 [mess-id-1] Outgoing SOAP response:
09:33:17,644 [mess-id-6] SUCCESS in query execution
09:33:17,644 [mess-id-6] response code from
09:33:17,644 [mess-id-6] XML API document
09:33:17,644 [mess-id-10] <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://s...content-available-to-author-only...p.org/soap/envelope/"><SOAP-ENV:Body></SOAP-ENV:Body></SOAP-ENV:Envelope>
09:33:17,644 [mess-id-10] Exit: LogHandler::invoke
09:33:17,645 [mess-id-6] <?xml version="1.0" encoding="UTF-8" ?>
<response>
<document>
<DOC_NAME>doc_name</DOC_NAME>
<OPERATION>Operation</OPERATION>
<details>
<VALUE>Value</VALUE>
</details>
</document>
</response>
09:33:17,645 [mess-id-10] we don't use access rights, so allow this object
09:33:17,645 [mess-id-10] we don't use access rights, so allow this object
09:33:17,645 [mess-id-10] we don't use access rights, so allow this object
09:33:17,645 [mess-id-6] Retrieving info
09:33:17,645 [mess-id-10] XSD validation file location
09:33:17,646 [mess-id-6] Assigning query data
09:33:17,646 [mess-id-6] Assigning query data
09:33:17,647 [mess-id-10] <?xml version="1.0" encoding="UTF-8"?>
<ValidityCheck xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance"></ValidityCheck>
09:33:17,647 [mess-id-10] XMLReader to be used: org.apache.xerces.parsers.SAXParser
09:33:17,647 [mess-id-10] request validated against XSD in 0 ms
09:33:17,647 [mess-id-6] processing
09:33:17,647 [mess-id-6] prepared XML document
09:33:17,647 [mess-id-6] XML API document
09:33:17,648 [mess-id-10] database connection status=OK
09:33:17,649 [mess-id-10] executing query
09:33:17,650 [mess-id-6] <?xml version="1.0" encoding="UTF-8"?>
<CHANGES_REQUEST><document><VERSION/><DOC_NAME>doc_name</DOC_NAME><OPERATION>INSERT</OPERATION><details></details></document></CHANGES_REQUEST>
09:33:17,651 [mess-id-2] <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
09:33:17,651 [mess-id-2] Exit: LogHandler::invoke
09:33:17,651 [mess-id-6] preparing a database call
09:33:17,651 [mess-id-6] registering parameter values for the database call
09:33:17,651 [mess-id-6] executing query
09:33:17,659 [mess-id-1] <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
09:33:17,659 [mess-id-1] Exit: LogHandler::invoke
09:33:17,683 [mess-id-15] Enter: LogHandler::invoke
09:33:17,683 [mess-id-15] Incoming SOAP request:
09:33:17,687 [mess-id-15] <?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://s...content-available-to-author-only...p.org/soap/envelope/"><SOAP-ENV:Body></SOAP-ENV:Body></SOAP-ENV:Envelope>
09:33:17,687 [mess-id-15] Exit: LogHandler::invoke
09:33:17,687 [mess-id-15] we don't use access rights, so allow this object
09:33:17,687 [mess-id-15] we don't use access rights, so allow this object
09:33:17,687 [mess-id-15] we don't use access rights, so allow this object
09:33:17,688 [mess-id-15] XSD validation file location
09:33:17,688 [mess-id-4] SUCCESS in query execution
09:33:17,688 [mess-id-4] response code from
09:33:17,688 [mess-id-4] committing database transaction
09:33:17,689 [mess-id-4] releasing database connection
09:33:17,689 [mess-id-4] outputResponse..start
09:33:17,689 [mess-id-4] outputResponse..end
09:33:17,689 [mess-id-4] Enter: LogHandler::invoke
09:33:17,689 [mess-id-4] Outgoing SOAP response:
09:33:17,689 [mess-id-15] <?xml version="1.0" encoding="UTF-8"?>
<ValidityCheck xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance"><OperationConnectionInfo></OperationConnectionInfo></ValidityCheck>
09:33:17,689 [mess-id-15] XMLReader to be used: org.apache.xerces.parsers.SAXParser
09:33:17,690 [mess-id-15] request validated against XSD in 1 ms
09:33:17,691 [mess-id-15] database connection status
09:33:17,692 [mess-id-4] <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
09:33:17,692 [mess-id-4] Exit: LogHandler::invoke
09:33:17,694 [mess-id-15] setting
09:33:17,696 [mess-id-15] executing query
09:33:17,696 [mess-id-15] SUCCESS in query execution
09:33:17,696 [mess-id-15] response code from
09:33:17,696 [mess-id-15] committing database transaction
09:33:17,697 [mess-id-15] releasing database connection
09:33:17,697 [mess-id-15] outputResponse..start
09:33:17,697 [mess-id-15] outputResponse..end
09:33:17,697 [mess-id-15] Enter: LogHandler::invoke
09:33:17,697 [mess-id-15] Outgoing SOAP response:
09:33:17,697 [mess-id-10] SUCCESS in query execution
09:33:17,697 [mess-id-10] response code from
09:33:17,697 [mess-id-10] committing database transaction
09:33:17,698 [mess-id-10] releasing database connection
09:33:17,698 [mess-id-10] outputResponse..start
09:33:17,698 [mess-id-10] outputResponse..end
09:33:17,698 [mess-id-10] Enter: LogHandler::invoke
09:33:17,698 [mess-id-10] Outgoing SOAP response:
09:33:17,700 [mess-id-10] <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
09:33:17,700 [mess-id-10] Exit: LogHandler::invoke
09:33:17,700 [mess-id-15] <?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">
<soapenv:Body>
</soapenv:Body>
</soapenv:Envelope>
09:33:17,700 [mess-id-15] Exit: LogHandler::invoke
stdout
10 {'state': 'out', 'in': '<?xml version="1.0" encoding="UTF-8"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://s...content-available-to-author-only...p.org/soap/envelope/"><SOAP-ENV:Body></SOAP-ENV:Body></SOAP-ENV:Envelope>', 'out': '<?xml version="1.0" encoding="UTF-8"?>\n<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">\n<soapenv:Body>\n</soapenv:Body>\n</soapenv:Envelope>'} 

15 {'state': 'out', 'in': '<?xml version="1.0" encoding="UTF-8"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://s...content-available-to-author-only...p.org/soap/envelope/"><SOAP-ENV:Body></SOAP-ENV:Body></SOAP-ENV:Envelope>', 'out': '<?xml version="1.0" encoding="UTF-8"?>\n<soapenv:Envelope xmlns:soapenv="http://s...content-available-to-author-only...p.org/soap/envelope/" xmlns:xsd="http://w...content-available-to-author-only...3.org/2001/XMLSchema" xmlns:xsi="http://w...content-available-to-author-only...3.org/2001/XMLSchema-instance">\n<soapenv:Body>\n</soapenv:Body>\n</soapenv:Envelope>'}