<?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>NY INTERACTIVE AGENCY « iFUEL INTERACTIVE / AGENCY212 &#187; logging</title>
	<atom:link href="http://blogs.ifuelinteractive.com/tag/logging/feed/" rel="self" type="application/rss+xml" />
	<link>http://blogs.ifuelinteractive.com</link>
	<description>A NY INTERACTIVE AGENCY</description>
	<lastBuildDate>Thu, 02 Feb 2012 15:30:07 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Logging Database Queries in Magento</title>
		<link>http://blogs.ifuelinteractive.com/2012/02/01/logging-database-queries-in-magento/</link>
		<comments>http://blogs.ifuelinteractive.com/2012/02/01/logging-database-queries-in-magento/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 15:13:05 +0000</pubDate>
		<dc:creator>Jacqueline DeVito</dc:creator>
				<category><![CDATA[Magento Moments]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[mysql]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=612</guid>
		<description><![CDATA[Sometimes Magento does something and it’s just not obvious why.  We’ve all heard “why aren’t my products showing up?” more times than we can count.  Magento’s object model for building queries is great, but sometimes you just need to see the sql that’s being run on the database in order to know what’s really going [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: justify;">Sometimes Magento does something and it’s just not obvious why.  We’ve all heard “why aren’t my products showing up?” more times than we can count.  Magento’s object model for building queries is great, but sometimes you just need to see the sql that’s being run on the database in order to know what’s really going on.</p>
<p style="text-align: justify;">In the past I’ve used the general log in mysql.  That can be a great source of information, but, depending on the version of mysql, it can be a pain to set up.  Other times I’ve inserted logging code into various db classes in order to print out queries that are being run, but I always have to find the right place again.  But today I stumbled on this blog entry -<a title="Logging Database Queries in Magento" href="http://blog.nexcess.net/2011/04/15/logging-database-queries-in-magento/" target="_blank"> http://blog.nexcess.net/2011/04/15/logging-database-queries-in-magento/</a> that spells out exactly how you can turn on some (as far as I know) undocumented logging functionality that is built right in to the Magento data access layer.  Kudos to the author and thanks for sharing!</p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2012/02/01/logging-database-queries-in-magento/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logging all SQL in Magento</title>
		<link>http://blogs.ifuelinteractive.com/2009/10/18/logging-all-sql-in-magento/</link>
		<comments>http://blogs.ifuelinteractive.com/2009/10/18/logging-all-sql-in-magento/#comments</comments>
		<pubDate>Sun, 18 Oct 2009 13:24:21 +0000</pubDate>
		<dc:creator>Andy</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[logging]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://blogs.ifuelinteractive.com/?p=106</guid>
		<description><![CDATA[I&#8217;ve been looking for a way to log all the sql that Magento is running for debugging purposes.  There are a number of logging mechanisms built in to Magento, but none that would allow you to log all the sql that&#8217;s being run.  Finally, I&#8217;ve found a simple change that can be made [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been looking for a way to log all the sql that Magento is running for debugging purposes.  There are a number of logging mechanisms built in to Magento, but none that would allow you to log all the sql that&#8217;s being run.  Finally, I&#8217;ve found a simple change that can be made to a core file (I know, not ideal because it will get overwritten when you upgrade Magento &#8211; but it&#8217;s only a few lines in one file).</p>
<h3>The Change</h3>
<p>1. Open the file &lt;magentoroot&gt;/lib/Varien/Db/Adapter/Pdo/Mysql.php.</p>
<p>2. Add the following lines:</p>
<pre>
<pre class="brush: php">
$code = &#039;SQL: &#039; . $sql . &quot;\r\n&quot;;
if ($bind) {
     $code .= &#039;BIND: &#039; . print_r($bind, true) . &quot;\r\n&quot;;
}
$this-&gt;_debugWriteToFile(&quot;[&quot;.date(&#039;Y-m-d H:i:s&#039;).&quot;] &quot;.$code);
</pre>
</pre>
<p>Add it to the &#8220;query&#8221; function as shown below:</p>
<pre>
<pre class="brush: php">
public function query($sql, $bind = array())
{
     $this-&gt;_debugTimer();

     try {
          $sql = (string)$sql;
          if (strpos($sql, &#039;:&#039;) !== false || strpos($sql, &#039;?&#039;) !== false) {
               $this-&gt;_bindParams = $bind;
               $sql = preg_replace_callback(&#039;#(([\&#039;&quot;])((\\2)|((.*?[^\\\\])\\2)))#&#039;, array($this, &#039;proccessBindCallback&#039;), $sql);
               $bind = $this-&gt;_bindParams;
          }

          $code = &#039;SQL: &#039; . $sql . &quot;\r\n&quot;;
          if ($bind) {
               $code .= &#039;BIND: &#039; . print_r($bind, true) . &quot;\r\n&quot;;
          }
          $this-&gt;_debugWriteToFile(&quot;[&quot;.date(&#039;Y-m-d H:i:s&#039;).&quot;] &quot;.$code);

          $result = parent::query($sql, $bind);
     }
     catch (Exception $e) {
          $this-&gt;_debugStat(self::DEBUG_QUERY, $sql, $bind);
          $this-&gt;_debugException($e);
     }
     $this-&gt;_debugStat(self::DEBUG_QUERY, $sql, $bind, $result);
     return $result;
 }
</pre>
<p><span id="more-106"></span></pre>
<h3>The Log</h3>
<p>By default your sql will be logged to:</p>
<p>&lt;magentoroot&gt;/var/debug/sql.txt</p>
<h3>Limitations</h3>
<p>1. As mentioned above, the file will likely be overwritten during a Magento upgrade.</p>
<p>2. There&#8217;s nothing that will turn logging off (except a Magento upgrade).  So you need to be careful that this is a temporary setting for debugging only.</p>
<p>=============================<em><br />
“e-commerce done right</em>”<br />
<a href="http://www.ifuelinteractive.com/" target="_blank">http://www.ifuelinteractive.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blogs.ifuelinteractive.com/2009/10/18/logging-all-sql-in-magento/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

