<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -26,6 +26,7 @@
 * [#34] Mack::l10n now raises exception with a fully qualified name.
 * [#33] mack-active_record now requires ActiveRecord 2.0.2 explicitly, not &gt;=2.0.2
 * [#31] Added support for ruby-debug.
+* [#26] Log Coloring for console output.
 * [#24] Added mack-notifier support.
 * [#18] Added Page caching. All that's needed for using page caching is to require the mack-caching gem, turn on
   page caching in your config files with: </diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -15,6 +15,31 @@ module Mack
 end
 
 unless Mack.logger
+
+  module Log4r # :nodoc:
+    class IOOutputter # :nodoc:
+
+      # let's not do this more than once. :)
+      unless Log4r::IOOutputter.private_instance_methods.include?(&quot;old_write&quot;)
+
+        alias_method :old_write, :write
+
+        def write(data)
+          case data
+          when /^(DEBUG:|INFO:|WARN:|ERROR:|FATAL:)\s\[.*\]\s(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/
+            old_write(Color.yellow(data))
+          when /^(ERROR:|FATAL:)/
+            old_write(Color.red(data))
+          else
+            old_write(data)
+          end
+        end
+
+      end
+
+    end # IOOutputter
+  end # Log4r
+  
   log_directory = app_config.log_root || File.join(Mack.root, &quot;log&quot;)
   FileUtils.mkdir_p(log_directory)
 </diff>
      <filename>lib/mack/initialization/logging.rb</filename>
    </modified>
    <modified>
      <diff>@@ -20,7 +20,7 @@ module Mack
           msg = &quot;\n\t[#{request.request_method.upcase}] '#{request.path_info}'\n&quot;
           msg &lt;&lt; &quot;\tSession ID: #{request.session.id}\n&quot; if app_config.mack.use_sessions
           msg &lt;&lt; &quot;\tParameters: #{request.all_params}\n&quot;
-          msg &lt;&lt; &quot;\tCompleted in #{@total_time} (#{@requests_per_second} reqs/sec) | #{response.status} [#{request.full_host}]&quot;
+          msg &lt;&lt; Color.green(&quot;\tCompleted in #{@total_time} (#{@requests_per_second} reqs/sec) | #{response.status} [#{request.full_host}]&quot;)
         else
           msg = &quot;[#{request.request_method.upcase}] '#{request.path_info}' (#{total_time})&quot;
         end</diff>
      <filename>lib/mack/runner_helpers/request_logger.rb</filename>
    </modified>
    <modified>
      <diff>@@ -19,6 +19,7 @@ require 'genosaurus'
 require 'net/http'
 require 'pp'
 require 'test/unit'
+require 'redgreen'
 
 fl = File.join(File.dirname(__FILE__), &quot;mack&quot;)
 </diff>
      <filename>lib/mack_core.rb</filename>
    </modified>
    <modified>
      <diff>@@ -61,6 +61,7 @@ namespace :gem do
         s.add_dependency(&quot;rcov&quot;, &quot;0.8.1.2.0&quot;)
         s.add_dependency(&quot;rspec&quot;, &quot;1.1.4&quot;)
         s.add_dependency(&quot;ruby-debug&quot;, &quot;0.10.0&quot;)
+        s.add_dependency(&quot;redgreen&quot;, &quot;1.2.2&quot;)
       
         s.rubyforge_project = gh.project
         </diff>
      <filename>tasks/mack_gem_tasks.rake</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>e815e3f8762974691c8c27dd4265fec3d4c9999c</id>
    </parent>
  </parents>
  <author>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </author>
  <url>http://github.com/markbates/mack/commit/006aadb593b186cb01890d240cb7136e8e43c2f5</url>
  <id>006aadb593b186cb01890d240cb7136e8e43c2f5</id>
  <committed-date>2008-07-31T11:10:25-07:00</committed-date>
  <authored-date>2008-07-31T11:10:25-07:00</authored-date>
  <message>Feature: Log Coloring for console output [#26 state:resolved]</message>
  <tree>5df436e9d322ed95430d50a5216e2194b5e77908</tree>
  <committer>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </committer>
</commit>
