<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -1,3 +1,4 @@
+* [#103] Log colors for the console are now configurable per log level.
 * [#102] New association method in data_factory
 * [#101] Update to file upload testing (build_file -&gt; file_for_upload, and multipart support in put)
 * [#100] Inline routing parameters are being mutated</diff>
      <filename>CHANGELOG</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,11 @@
 class Symbol
   
+  # See Mack::ViewHelpers::FormHelpers date_time_select for more information
   def date_time_select(*args)
     Thread.current[:view_template].date_time_select(self, *args)
   end
-
+  
+  # See Mack::ViewHelpers::FormHelpers date_select for more information
   def date_select(*args)
     Thread.current[:view_template].date_select(self, *args)
   end</diff>
      <filename>lib/mack/core_extensions/symbol.rb</filename>
    </modified>
    <modified>
      <diff>@@ -81,9 +81,11 @@ module Mack
         &quot;mack::default_respository_name&quot; =&gt; &quot;default&quot;,
         &quot;mack::testing_framework&quot; =&gt; &quot;rspec&quot;,
         &quot;log::detailed_requests&quot; =&gt; true,
-        &quot;log::db_color&quot; =&gt; &quot;yellow&quot;,
+        &quot;log::db_color&quot; =&gt; &quot;cyan&quot;,
         &quot;log::error_color&quot; =&gt; &quot;red&quot;,
-        &quot;log::completed_color&quot; =&gt; &quot;green&quot;,
+        &quot;log::fatal_color&quot; =&gt; &quot;red&quot;,
+        &quot;log::warn_color&quot; =&gt; &quot;yellow&quot;,
+        &quot;log::completed_color&quot; =&gt; &quot;purple&quot;,
         &quot;log_level&quot; =&gt; &quot;info&quot;
       }#.merge(eval(&quot;DEFAULTS_#{Mack.env.upcase}&quot;))
     end</diff>
      <filename>lib/mack/initialization/configuration.rb</filename>
    </modified>
    <modified>
      <diff>@@ -1,7 +1,7 @@
 #--
 # Configure logging
 #++
-
+require File.join(File.dirname(__FILE__), &quot;..&quot;, &quot;utils&quot;, &quot;ansi&quot;, &quot;ansi_color&quot;)
 module Mack
   
   def self.logger
@@ -45,10 +45,14 @@ unless Mack.logger
           case data
           when /^(DEBUG:|INFO:|WARN:|ERROR:|FATAL:)\s\[.*\]\s(SELECT|INSERT|UPDATE|DELETE|CREATE|DROP)/
             old_write(Mack::Utils::Ansi::Color.wrap(app_config.log.db_color, data))
-          when /^(ERROR:|FATAL:)/
-            old_write(Mack::Utils::Ansi::Color.wrap(app_config.log.error_color, data))
           else
-            old_write(data)
+            level = data.match(/^\w+/).to_s
+            color = app_config.log.send(&quot;#{level.downcase}_color&quot;)
+            if color
+              old_write(Mack::Utils::Ansi::Color.wrap(color, data))
+            else
+              old_write(data)
+            end
           end
         end
 </diff>
      <filename>lib/mack/initialization/logging.rb</filename>
    </modified>
    <modified>
      <diff>@@ -17,6 +17,23 @@ module Mack
         MINUTES &lt;&lt; [(m &lt; 10 ? &quot;0#{m}&quot; : m), m]
       end
       
+      # This will create a series of select boxes that compromise a time object. By default boxes will be
+      # created for day/month/year hour:minute. You can optionally turn on or off any of these boxes, including
+      # seconds by setting them to true/false. For example:
+      #   &lt;%= date_time_select :some_time, :days =&gt; false %&gt;
+      # will not produce a select box for days, and so on...
+      # 
+      # You can pass in an array of arrays to represent the options for any of the boxes like such:
+      #   &lt;%= date_time_select :some_time, :day_options =&gt; [[1,&quot;one&quot;], [2,&quot;two&quot;]] %&gt;
+      # Will produce a day select box with only two options. Alternatively you can pass in an array of values
+      # and the options will be done for you. Like such:
+      #   &lt;%= date_time_select :some_time, :day_values =&gt; 1..60 %&gt;
+      # Will produce a day select box with 60 options whose values and keys will be the same.
+      # 
+      # The separators for dates and times can be set with the date_separator and time_separator options. By
+      # default they are:
+      #   :date_separator =&gt; '/'
+      #   :time_separator =&gt; ':'
       def date_time_select(name, *args)
         var = instance_variable_get(&quot;@#{name}&quot;)
         fe = FormElement.new(*args)
@@ -27,7 +44,7 @@ module Mack
         years = []
         (time.year - 5).upto(time.year + 5) { |y| years &lt;&lt; [y, y]}
         
-        options = {:years =&gt; true, :months =&gt; true, :days =&gt; true, :hours =&gt; true, :minutes =&gt; true, :seconds =&gt; false, :year_options =&gt; years, :month_options =&gt; MONTHS, :day_options =&gt; DAYS, :hour_options =&gt; HOURS, :minute_options =&gt; MINUTES, :second_options =&gt; MINUTES}.merge(fe.options)
+        options = {:years =&gt; true, :months =&gt; true, :days =&gt; true, :hours =&gt; true, :minutes =&gt; true, :seconds =&gt; false, :year_options =&gt; years, :month_options =&gt; MONTHS, :day_options =&gt; DAYS, :hour_options =&gt; HOURS, :minute_options =&gt; MINUTES, :second_options =&gt; MINUTES, :date_separator =&gt; '/', :time_separator =&gt; ':'}.merge(fe.options)
         
         [:year, :month, :day, :hour, :minute, :second].each do |v|
           if options[&quot;#{v}_values&quot;.to_sym]
@@ -51,18 +68,22 @@ module Mack
         time_boxes &lt;&lt; dt_select(:minute, name, fe, time.min, options[:minute_options]) if options[:minutes]
         time_boxes &lt;&lt; dt_select(:second, name, fe, time.sec, options[:second_options]) if options[:seconds]
         
-        boxes = date_boxes.join(&quot;/&quot;)
+        boxes = date_boxes.join(options[:date_separator])
         
         unless time_boxes.empty?
-          boxes &lt;&lt; &quot; &quot; &lt;&lt; time_boxes.join(&quot;:&quot;)
+          boxes &lt;&lt; &quot; &quot; &lt;&lt; time_boxes.join(options[:time_separator])
         end
         
         return label + boxes
       end
       
-      # Used just like date_time_select, but it has hours, minutes, and seconds turned off.
-      # 
+      # Used just like date_time_select, but it has hours, minutes, and seconds turned off. See date_time_select
+      # for more options.
       # 
+      #   @user = User.new
+      #   &lt;%= :user.date_select :birth_date %&gt;
+      #   @some_time = Time.new
+      #   &lt;%= :date_select :some_time, :label =&gt; true %&gt;
       def date_select(name, *args)
         fe = FormElement.new(*args)
         date_time_select(name, fe.calling_method, {:hours =&gt; false, :minutes =&gt; false, :seconds =&gt; false}.merge(fe.options))</diff>
      <filename>lib/mack/view_helpers/date_time_helpers.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>8410e68e7edfa7d7dbec9b8c34cb58ebdeb76ab7</id>
    </parent>
  </parents>
  <author>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </author>
  <url>http://github.com/markbates/mack/commit/7c790f0be79d372d6e0c8409d539bfa0c830afcd</url>
  <id>7c790f0be79d372d6e0c8409d539bfa0c830afcd</id>
  <committed-date>2008-08-18T12:24:24-07:00</committed-date>
  <authored-date>2008-08-18T12:24:24-07:00</authored-date>
  <message>Log colors for the console are now configurable per log level. [#103 state:resolved]</message>
  <tree>d8b46c41a23ff5ab207c4cdb209a5792662d5d8f</tree>
  <committer>
    <name>Mark Bates</name>
    <email>mark@markbates.com</email>
  </committer>
</commit>
