--On Saturday, November 20, 1999 00:02 +0100 Martijn Pieters <mj@antraciet.nl> wrote:
At 17:52 19-11-99 , Jim Cain wrote:
I tried the above changes, but I still got the same error.
Then I tried removing things altogether, one at a time. Finally I discovered that by removing the first %d on line 225 and self.addr[1] on line 226, while leaving everything else alone, it works fine.
One curious thing though: When I run it this way, the line it writes in the log file begins with ^D. Where is that character coming from?
Eh? This suggests that self.addr[1] is now broken, which means that it was previously (older Zope version) wasn't working either.. And I don't get the ^D either.
Do you know how to use the Perl Debugger? I think a few debugging steps are in order here. Insert the lines
import pdb pdb.set_trace()
somewhere before the offending lines (for example, at 222), start Zope in debugging mode (so it won't detach from the console). Then, when you go to your site and your pdb statements are executed, you can follow exactly what goes wrong where, and why.
Let us know!
Okay, I put in the set_trace, and this is what I found: (Pdb) l 220 else: 221 method="GET" 222 if self.addr: 223 import pdb 224 pdb.set_trace() 225 -> self.server.logger.log ( 226 self.addr[0], 227 '%d - - [%s] "%s %s" %d %d' % ( 228 self.addr[1], 229 time.strftime ( 230 '%d/%b/%Y:%H:%M:%S ', (Pdb) whatis self.addr <type 'string'> (Pdb) p self.addr '\004\010\204\364\377\277\226y' (Pdb) p self.addr[0] '\004' (Pdb) p self.addr[1] '\010' Well at least we know where the ^D is coming from, but what is self.addr supposed to contain, a string representation of the IP address of the client? Jim