On 1/9/2013 10:08, Ferrous Cranus wrote:

   <snip>
> Here is it:
>
>
> errout = open( '/tmp/err.out', 'w' )          # opens and truncates the error 
> output file
> try:
>       gi = pygeoip.GeoIP('/usr/local/share/GeoIPCity.dat')
>       city = gi.time_zone_by_addr( os.environ['REMOTE_ADDR'] ) or 
> gi.time_zone_by_addr( os.environ['HTTP_CF_CONNECTING_IP'] )
>       host = socket.gethostbyaddr( os.environ['REMOTE_ADDR'] )[0] or 
> socket.gethostbyaddr( os.environ['HTTP_CF_CONNECTING_IP'] )[0] or "Proxy 
> Detected"
> except Exception as e:
>       print( "Xyzzy exception-", repr( sys.exc_info() ), file=errout )
>      errout.flush()
>
> sys.exit(0)
>
> and the output of error file is:
>
>
> ni...@superhost.gr [~]# cat /tmp/err.out
> UnicodeDecodeError('utf-8', b'\xb6\xe3\xed\xf9\xf3\xf4\xef 
> \xfc\xed\xef\xec\xe1 \xf3\xf5\xf3\xf4\xde\xec\xe1\xf4\xef\xf2', 0, 1, 
> 'invalid start byte')
>

Nope.  The label  "Xyzzy exception" is not in that file, so that's not
the file you created in this run.  Further, if that line existed before,
it would have been wiped out by the open with mode "w".

i suggest you add yet another write to that file, immediately after
opening it:

errout = open( '/tmp/err.out', 'w' )            # opens and truncates the error 
print("starting run", file=errorout)
errout.flush()

Until you can reliably examine the same file that was logging your
errors, you're just spinning your wheels.  you might even want to write
the time to the file, so that you can tell whether it was now, or 2 days
ago that the run was made.


-- 
DaveA


-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to