diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-06 17:18:34 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-03-06 17:18:34 +0000 |
commit | 911614df6eb4ea1f19c71aea57b1aea0b243c73a (patch) | |
tree | 9bbd04c7d1a9d8b66b98d689bfef1114b6058269 | |
parent | 7ba3903db6e8a0e0ddc737562742c7213c32a9d7 (diff) | |
download | rails-911614df6eb4ea1f19c71aea57b1aea0b243c73a.tar.gz rails-911614df6eb4ea1f19c71aea57b1aea0b243c73a.tar.bz2 rails-911614df6eb4ea1f19c71aea57b1aea0b243c73a.zip |
Added ActiveRecord::Base.colorize_logging to control whether to use colors in logs or not (on by default)
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@860 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-rw-r--r-- | activerecord/CHANGELOG | 2 | ||||
-rwxr-xr-x | activerecord/lib/active_record/base.rb | 6 | ||||
-rwxr-xr-x | activerecord/lib/active_record/connection_adapters/abstract_adapter.rb | 20 |
3 files changed, 20 insertions, 8 deletions
diff --git a/activerecord/CHANGELOG b/activerecord/CHANGELOG index 4ea883623e..23daf02123 100644 --- a/activerecord/CHANGELOG +++ b/activerecord/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added ActiveRecord::Base.colorize_logging to control whether to use colors in logs or not (on by default) + * Added support for timestamp with time zone in PostgreSQL #560 [Scott Barron] * Added MultiparameterAssignmentErrors and AttributeAssignmentError exceptions #777 [demetrius]. Documentation: diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index 2725e3c7f5..b198f0a636 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -264,6 +264,12 @@ module ActiveRecord #:nodoc: cattr_accessor :pluralize_table_names @@pluralize_table_names = true + # Determines whether or not to use ANSI codes to colorize the logging statements committed by the connection adapter. These colors + # makes it much easier to overview things during debugging (when used through a reader like +tail+ and on a black background), but + # may complicate matters if you use software like syslog. This is true, by default. + cattr_accessor :colorize_logging + @@colorize_logging = true + # Determines whether to use Time.local (using :local) or Time.utc (using :utc) when pulling dates and times from the database. # This is set to :local by default. cattr_accessor :default_timezone diff --git a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb index d686d71246..b0865d9aab 100755 --- a/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb +++ b/activerecord/lib/active_record/connection_adapters/abstract_adapter.rb @@ -422,16 +422,20 @@ module ActiveRecord end def format_log_entry(message, dump = nil) - if @@row_even then - @@row_even = false; caller_color = "1;32"; message_color = "4;33"; dump_color = "1;37" + if ActiveRecord::Base.colorize_logging + if @@row_even then + @@row_even = false; caller_color = "1;32"; message_color = "4;33"; dump_color = "1;37" + else + @@row_even = true; caller_color = "1;36"; message_color = "4;35"; dump_color = "0;37" + end + + log_entry = " \e[#{message_color}m#{message}\e[m" + log_entry << " \e[#{dump_color}m%s\e[m" % dump if dump.kind_of?(String) && !dump.nil? + log_entry << " \e[#{dump_color}m%p\e[m" % dump if !dump.kind_of?(String) && !dump.nil? + log_entry else - @@row_even = true; caller_color = "1;36"; message_color = "4;35"; dump_color = "0;37" + "%s %s" % [message, dump] end - - log_entry = " \e[#{message_color}m#{message}\e[m" - log_entry << " \e[#{dump_color}m%s\e[m" % dump if dump.kind_of?(String) && !dump.nil? - log_entry << " \e[#{dump_color}m%p\e[m" % dump if !dump.kind_of?(String) && !dump.nil? - log_entry end end |