Implement a custom log class to make the log more readable.
[rails.git] / config / environment.rb
index ffd64eec9428fa2cd1ea0308b6242ef7a84bb2ed..b96c1a872e79d58236b2b5b9250d2a0b0abaaef0 100644 (file)
@@ -9,9 +9,16 @@ RAILS_GEM_VERSION = '1.2.3'
 
 # Bootstrap the Rails environment, frameworks, and default configuration
 require File.join(File.dirname(__FILE__), 'boot')
-\r
-# Application constants needed for routes.rb - must go before Initializer call\r
-API_VERSION = ENV['OSM_API_VERSION'] || '0.4'\r
+
+# Application constants needed for routes.rb - must go before Initializer call
+API_VERSION = ENV['OSM_API_VERSION'] || '0.4'
+
+# Custom logger class to format messages sensibly
+class OSMLogger < Logger
+  def format_message(severity, time, progname, msg)
+    "[%s.%06d #%d] %s\n" % [time.strftime("%Y-%m-%d %H:%M:%S"), time.usec, $$, msg.sub(/^\n+/, "")]
+  end
+end
 
 Rails::Initializer.run do |config|
   # Settings in config/environments/* take precedence those specified here
@@ -26,6 +33,9 @@ Rails::Initializer.run do |config|
   # (by default production uses :info, the others :debug)
   # config.log_level = :debug
 
+  # Use our custom logger
+  config.logger = OSMLogger.new(config.log_path)
+
   # Use the database for sessions instead of the file system
   # (create the session table with 'rake db:sessions:create')
   # config.action_controller.session_store = :active_record_store