<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DZone Snippets: activerecord code</title>
    <link>http://snippets.dzone.com/posts</link>
    <pubDate>Wed, 08 Oct 2008 07:11:47 GMT</pubDate>
    <description>DZone Snippets: activerecord code</description>
    <item>
      <title>Active Record log</title>
      <link>http://snippets.dzone.com/posts/show/3402</link>
      <description>from &lt;http://weblog.jamisbuck.org/2007/1/31/more-on-watching-activerecord&gt;&lt;br /&gt;&lt;br /&gt;In config/environment.rb:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;def log_to(stream)&lt;br /&gt;  ActiveRecord::Base.logger = Logger.new(stream)&lt;br /&gt;  ActiveRecord::Base.clear_active_connections!&lt;br /&gt;end&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;then in the console :&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt;&gt; log_to STDOUT&lt;br /&gt;=&gt; ...&lt;br /&gt;&gt;&gt; Post.find(:first)&lt;br /&gt;  Post Load (0.000138)   SELECT * FROM posts LIMIT 1&lt;br /&gt;=&gt; #&lt;Post:0x1234 ...&gt;&lt;br /&gt;&gt;&gt;&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;The best part is, by clearing the active connections after setting the logger, you can change the logger at any time, even after you&#8217;ve made any number of find calls.&lt;br /&gt;&lt;br /&gt;And, you can pass your own stream objects into it:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&gt;&gt; buffer = StringIO.new&lt;br /&gt;=&gt; ...&lt;br /&gt;&gt;&gt; log_to buffer&lt;br /&gt;=&gt; ...&lt;br /&gt;&gt;&gt; Post.find(:first)&lt;br /&gt;=&gt; #&lt;Post:0x1234 ...&gt;&lt;br /&gt;&gt;&gt; p buffer.string&lt;br /&gt;=&gt; "  \e[4;35;1mPost Load (0.000138)\e[0m   \e[0mSELECT * FROM posts LIMIT 1\e[0m\n"&lt;br /&gt;&gt;&gt;&lt;br /&gt;&lt;/code&gt;</description>
      <pubDate>Thu, 01 Feb 2007 13:45:53 GMT</pubDate>
      <guid>http://snippets.dzone.com/posts/show/3402</guid>
      <author>Mickael (Mickael)</author>
    </item>
  </channel>
</rss>
