<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>KenKinder.com &#187; logging</title>
	<atom:link href="http://kenkinder.com/tag/logging/feed/" rel="self" type="application/rss+xml" />
	<link>http://kenkinder.com</link>
	<description>Ken Kinder&#039;s personal website</description>
	<lastBuildDate>Mon, 14 Jun 2010 22:27:25 +0000</lastBuildDate>
	
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Making httplib log debug information</title>
		<link>http://kenkinder.com/2008/12/27/making-httplib-log-debug-information/</link>
		<comments>http://kenkinder.com/2008/12/27/making-httplib-log-debug-information/#comments</comments>
		<pubDate>Sat, 27 Dec 2008 09:16:31 +0000</pubDate>
		<dc:creator>Ken Kinder</dc:creator>
				<category><![CDATA[Python]]></category>
		<category><![CDATA[httplib]]></category>
		<category><![CDATA[logging]]></category>

		<guid isPermaLink="false">http://kenkinder.com/?p=151</guid>
		<description><![CDATA[As opposed to having it print to stdout. Here&#8217;s how&#8230;


--- httplib.py.orig	2008-12-16 19:14:07.000000000 -0600
+++ httplib.py	2008-12-16 19:26:20.000000000 -0600
@@ -69,6 +69,7 @@
 import errno
 import mimetools
 import socket
+import logging
 from urlparse import urlsplit
&#160;
 try:
@@ -342,7 +343,7 @@
         # Initialize with Simple-Response defaults
         [...]]]></description>
			<content:encoded><![CDATA[<p>As opposed to having it print to stdout. Here&#8217;s how&#8230;</p>
<p><span id="more-151"></span></p>

<div class="wp_syntax"><div class="code"><pre class="diff" style="font-family:monospace;">--- httplib.py.orig	<span style="">2008</span>-<span style="">12</span>-<span style="">16</span> <span style="">19</span>:<span style="">14</span>:<span style="">07.000000000</span> -0600
<span style="color: #888822;">+++ httplib.py	<span style="">2008</span>-<span style="">12</span>-<span style="">16</span> <span style="">19</span>:<span style="">26</span>:<span style="">20.000000000</span> -0600</span>
<span style="color: #440088;">@@ -<span style="">69</span>,<span style="">6</span> +<span style="">69</span>,<span style="">7</span> @@</span>
 import errno
 import mimetools
 import socket
<span style="color: #00b000;">+import logging</span>
 from urlparse import urlsplit
&nbsp;
 try:
<span style="color: #440088;">@@ -<span style="">342</span>,<span style="">7</span> +<span style="">343</span>,<span style="">7</span> @@</span>
         # Initialize with Simple-Response defaults
         line = self.fp.readline<span style="">&#40;</span><span style="">&#41;</span>
         if self.debuglevel &gt; <span style="">0</span>:
<span style="color: #991111;">-            print &quot;reply:&quot;, repr<span style="">&#40;</span>line<span style="">&#41;</span></span>
<span style="color: #00b000;">+            logging.info<span style="">&#40;</span>&quot;reply: %r&quot; % <span style="">&#40;</span>line,<span style="">&#41;</span><span style="">&#41;</span></span>
         if not line:
             # Presumably, the server closed the connection before
             # sending a valid response.
<span style="color: #440088;">@@ -<span style="">391</span>,<span style="">7</span> +<span style="">392</span>,<span style="">7</span> @@</span>
                 if not skip:
                     break
                 if self.debuglevel &gt; <span style="">0</span>:
<span style="color: #991111;">-                    print &quot;header:&quot;, skip</span>
<span style="color: #00b000;">+                    logging.info<span style="">&#40;</span>'header: %r' % <span style="">&#40;</span>skip,<span style="">&#41;</span><span style="">&#41;</span></span>
&nbsp;
         self.status = status
         self.reason = reason.strip<span style="">&#40;</span><span style="">&#41;</span>
<span style="color: #440088;">@@ -<span style="">414</span>,<span style="">7</span> +<span style="">415</span>,<span style="">7</span> @@</span>
         self.msg = HTTPMessage<span style="">&#40;</span>self.fp, <span style="">0</span><span style="">&#41;</span>
         if self.debuglevel &gt; <span style="">0</span>:
             for hdr in self.msg.headers:
<span style="color: #991111;">-                print &quot;header:&quot;, hdr,</span>
<span style="color: #00b000;">+                logging.info<span style="">&#40;</span>'header: %r' % <span style="">&#40;</span>hdr,<span style="">&#41;</span><span style="">&#41;</span></span>
&nbsp;
         # don't let the msg keep an fp
         self.msg.fp = None
<span style="color: #440088;">@@ -<span style="">665</span>,<span style="">11</span> +<span style="">666</span>,<span style="">11</span> @@</span>
             try:
                 self.sock = socket.socket<span style="">&#40;</span>af, socktype, proto<span style="">&#41;</span>
                 if self.debuglevel &gt; <span style="">0</span>:
<span style="color: #991111;">-                    print &quot;connect: <span style="">&#40;</span>%s, %s<span style="">&#41;</span>&quot; % <span style="">&#40;</span>self.host, self.port<span style="">&#41;</span></span>
<span style="color: #00b000;">+                    logging.info<span style="">&#40;</span>&quot;connect: <span style="">&#40;</span>%s, %s<span style="">&#41;</span>&quot; % <span style="">&#40;</span>self.host, self.port<span style="">&#41;</span><span style="">&#41;</span></span>
                 self.sock.connect<span style="">&#40;</span>sa<span style="">&#41;</span>
             except socket.error, msg:
                 if self.debuglevel &gt; <span style="">0</span>:
<span style="color: #991111;">-                    print 'connect fail:', <span style="">&#40;</span>self.host, self.port<span style="">&#41;</span></span>
<span style="color: #00b000;">+                    logging.info<span style="">&#40;</span>'connect fail:', <span style="">&#40;</span>self.host, self.port<span style="">&#41;</span><span style="">&#41;</span></span>
                 if self.sock:
                     self.sock.close<span style="">&#40;</span><span style="">&#41;</span>
                 self.sock = None
<span style="color: #440088;">@@ -<span style="">702</span>,<span style="">7</span> +<span style="">703</span>,<span style="">7</span> @@</span>
         # NOTE: we DO propagate the error, though, because we cannot simply
         #       ignore the error... the caller will know if they can retry.
         if self.debuglevel &gt; <span style="">0</span>:
<span style="color: #991111;">-            print &quot;send:&quot;, repr<span style="">&#40;</span>str<span style="">&#41;</span></span>
<span style="color: #00b000;">+            logging.info<span style="">&#40;</span>&quot;send: %s&quot; % <span style="">&#40;</span>str,<span style="">&#41;</span><span style="">&#41;</span></span>
         try:
             self.sock.sendall<span style="">&#40;</span>str<span style="">&#41;</span>
         except socket.error, v:</pre></div></div>

<p><a href='http://kenkinder.com/wp-content/uploads/2008/12/httplib-logging-patch.diff'>httplib-logging-patch</a></p>
]]></content:encoded>
			<wfw:commentRss>http://kenkinder.com/2008/12/27/making-httplib-log-debug-information/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
