<?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>Snow Giraffe Tech &#187; Uncategorized</title>
	<atom:link href="http://www.snowgiraffe.com/tech/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.snowgiraffe.com/tech</link>
	<description>rails, rubies, and sometimes dolphins</description>
	<lastBuildDate>Mon, 07 Jun 2010 14:36:05 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Logging with Rake</title>
		<link>http://www.snowgiraffe.com/tech/538/logging-with-rake/</link>
		<comments>http://www.snowgiraffe.com/tech/538/logging-with-rake/#comments</comments>
		<pubDate>Wed, 08 Jul 2009 20:02:22 +0000</pubDate>
		<dc:creator>blythe</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[rake task logger]]></category>

		<guid isPermaLink="false">http://www.snowgiraffe.com/tech/?p=538</guid>
		<description><![CDATA[Snippet to log ActiveRecord output to stdout at specified log level for Rake tasks.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve gotten a little tired of failing rake tasks that don&#8217;t give me enough diagnostic information with just the <span class="inline_code">&#8211;trace</span> option. Here&#8217;s a little snippet to redirect the ActiveRecord (and SQL in debug mode) output to stdout. Then pipe it into a file for safe keeping.</p>
<pre>rake mytask LOG=DEBUG &gt; mytask.out</pre>
<pre class="ruby"><span class="keyword">
def </span><span class="method">set_logger</span>
  <span class="comment">#configure ActiveRecord to log to Stdout</span>
  <span class="keyword">if</span> <span class="punct">(</span><span class="ident">log</span> <span class="punct">=</span> <span class="punct">(</span><span class="constant">ENV</span><span class="punct">['</span><span class="string">LOG</span><span class="punct">']||</span><span class="constant">ENV</span><span class="punct">['</span><span class="string">log</span><span class="punct">']))</span> <span class="punct">&amp;&amp;</span> <span class="ident">log</span><span class="punct">.</span><span class="ident">to_s</span><span class="punct">.</span><span class="ident">downcase</span> <span class="punct">!=</span> <span class="punct">'</span><span class="string">false</span><span class="punct">'</span>
    <span class="constant">ActiveRecord</span><span class="punct">::</span><span class="constant">Base</span><span class="punct">.</span><span class="ident">logger</span> <span class="punct">=</span> <span class="constant">Logger</span><span class="punct">.</span><span class="ident">new</span><span class="punct">(</span><span class="constant">STDOUT</span><span class="punct">)</span>
    <span class="constant">ActiveRecord</span><span class="punct">::</span><span class="constant">Base</span><span class="punct">.</span><span class="ident">logger</span><span class="punct">.</span><span class="ident">level</span> <span class="punct">=</span> <span class="keyword">begin</span>
      <span class="ident">log</span> <span class="punct">=~</span> <span class="punct">/</span><span class="regex">^<span class="escape">\d</span>*$</span><span class="punct">/</span> <span class="punct">?</span> <span class="ident">log</span><span class="punct">.</span><span class="ident">to_i</span> <span class="punct">:</span> <span class="constant">Logger</span><span class="punct">.</span><span class="ident">const_get</span><span class="punct">(</span><span class="ident">log</span><span class="punct">.</span><span class="ident">upcase</span><span class="punct">)</span>
    <span class="keyword">rescue</span>
      <span class="constant">Logger</span><span class="punct">::</span><span class="constant">INFO</span>
    <span class="keyword">end</span>
    <span class="ident">puts</span> <span class="punct">"</span><span class="string">ActiveRecord to STDOUT level <span class="expr">#{ActiveRecord::Base.logger.level}</span></span><span class="punct">"</span>
    <span class="constant">ActiveRecord</span><span class="punct">::</span><span class="constant">Base</span><span class="punct">.</span><span class="ident">connection</span><span class="punct">.</span><span class="ident">instance_variable_set</span><span class="punct">('</span><span class="string">@logger</span><span class="punct">',</span> <span class="constant">ActiveRecord</span><span class="punct">::</span><span class="constant">Base</span><span class="punct">.</span><span class="ident">logger</span><span class="punct">)</span>
    <span class="constant">Paperclip</span><span class="punct">.</span><span class="ident">options</span><span class="punct">[</span><span class="symbol">:log</span><span class="punct">]</span> <span class="punct">=</span> <span class="constant">true</span>
  <span class="keyword">end</span>
<span class="keyword">end</span></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.snowgiraffe.com/tech/538/logging-with-rake/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
