[Checkins] SVN: Sandbox/J1m/replaylog/replaylog.py Added error handling to survive funky log records.

Jim Fulton jim at zope.com
Sun May 6 03:48:10 EDT 2007


Log message for revision 75513:
  Added error handling to survive funky log records.
  

Changed:
  U   Sandbox/J1m/replaylog/replaylog.py

-=-
Modified: Sandbox/J1m/replaylog/replaylog.py
===================================================================
--- Sandbox/J1m/replaylog/replaylog.py	2007-05-05 18:32:16 UTC (rev 75512)
+++ Sandbox/J1m/replaylog/replaylog.py	2007-05-06 07:48:09 UTC (rev 75513)
@@ -1,6 +1,6 @@
 # Replay a log file to load a test server
 
-import logging, re, sys, time, threading, httplib, pdb
+import logging, re, sys, time, threading, traceback, httplib, pdb
 
 logger = logging.getLogger()
 logger.addHandler(logging.StreamHandler())
@@ -40,26 +40,30 @@
                 bad += 1
                 continue
 
-            good += 1
+            try:
+                day, month, year, hour, minute, second, request = m.groups()
 
-#            print m.groups()
+                month = months[month]
+                t = time.mktime(
+                    (int(year), month, int(day),
+                     int(hour), int(minute), int(second),
+                     0, 0, 0))
 
-            day, month, year, hour, minute, second, request = m.groups()
+                url = request.split()
+                url.pop()
+                method = url.pop(0)
+                url = '%20'.join(url)
+                if method == 'GET':
+                    get += 1
+                queue.append((t, url))
 
-            month = months[month]
-            t = time.mktime(
-                (int(year), month, int(day),
-                 int(hour), int(minute), int(second),
-                 0, 0, 0))
-
-            url = request.split()
-            url.pop()
-            method = url.pop(0)
-            url = '%20'.join(url)
-            if method == 'GET':
-                get += 1
-            queue.append((t, url))
+                good += 1
+            except:
+                print 'trouble parsing', line
+                traceback.print_exc()
+                bad += 1
                 
+                
     print good, bad, get
 
 def process_queue(server):



More information about the Checkins mailing list