Note that there are some explanatory texts on larger screens.

plurals
  1. PODevelopment.log log file isn't logging Rails SQL queries
    primarykey
    data
    text
    <p>I am following Michael Hartl's Rails Tutorial Here:</p> <p><a href="http://ruby.railstutorial.org/chapters/modeling-and-viewing-users-one#top" rel="noreferrer">http://ruby.railstutorial.org/chapters/modeling-and-viewing-users-one#top</a></p> <p>I use this command to track the SQL queries in a separate window:</p> <pre><code>tail -f log/development.log </code></pre> <p>However while I am in the sandboxed rails console, the log is not updated with SQL statements, instead they show up within the rails console. How can I correct this behavior?</p> <p>I should add that my database migrations and changes to the data model (new tables, etc) ARE reflected in the log. Only the SQL statements propagated by methods inside the rails console are omitted (and are displayed in the rails console instead).</p> <p>Here is my Gemfile:</p> <pre><code>source 'http://rubygems.org' gem 'rails', '3.1.0' # Bundle edge Rails instead: # gem 'rails', :git =&gt; 'git://github.com/rails/rails.git' gem 'sqlite3' group :development do gem 'rspec-rails', '2.6.1' gem 'annotate', :git =&gt; 'git://github.com/ctran/annotate_models.git' end group :test do gem 'rspec-rails', '2.6.1' gem 'webrat', '0.7.3' gem 'spork', '0.9.0.rc8' gem 'guard-spork' gem 'autotest', '4.4.6' gem 'autotest-rails-pure', '4.1.2' gem 'autotest-fsevent', '0.2.4' gem 'autotest-growl', '0.2.9' end # Gems used only for assets and not required # in production environments by default. group :assets do gem 'sass-rails', " ~&gt; 3.1.0" gem 'coffee-rails', "~&gt; 3.1.0" gem 'uglifier' end gem 'jquery-rails' # Use unicorn as the web server # gem 'unicorn' # Deploy with Capistrano # gem 'capistrano' # To use debugger # gem 'ruby-debug19', :require =&gt; 'ruby-debug' </code></pre> <p>Here is the output of the rails console:</p> <pre><code>Larson-2:sample larson$ rails console --sandbox Loading development environment in sandbox (Rails 3.1.0) Any modifications you make will be rolled back on exit ruby-1.9.2-p290 :001 &gt; user = User.create(:name =&gt; "A Nother", :email =&gt; "another@example.org") (0.1ms) SAVEPOINT active_record_1 SQL (13.4ms) INSERT INTO "users" ("created_at", "email", "name", "updated_at") VALUES (?, ?, ?, ?) [["created_at", Thu, 15 Sep 2011 20:34:09 UTC +00:00], ["email", "another@example.org"], ["name", "A Nother"], ["updated_at", Thu, 15 Sep 2011 20:34:09 UTC +00:00]] (0.1ms) RELEASE SAVEPOINT active_record_1 =&gt; #&lt;User id: 1, name: "A Nother", email: "another@example.org", created_at: "2011-09-15 20:34:09", updated_at: "2011-09-15 20:34:09"&gt; ruby-1.9.2-p290 :002 &gt; user.destroy (0.1ms) SAVEPOINT active_record_1 SQL (0.3ms) DELETE FROM "users" WHERE "users"."id" = ? [["id", 1]] (0.1ms) RELEASE SAVEPOINT active_record_1 =&gt; #&lt;User id: 1, name: "A Nother", email: "another@example.org", created_at: "2011-09-15 20:34:09", updated_at: "2011-09-15 20:34:09"&gt; ruby-1.9.2-p290 :003 &gt; </code></pre> <p>And here are the settings in my <code>config/environments/development.rb</code> file</p> <pre><code>Sample::Application.configure do # Settings specified here will take precedence over those in config/application.rb # In the development environment your application's code is reloaded on # every request. This slows down response time but is perfect for development # since you don't have to restart the web server when you make code changes. config.cache_classes = false # Log error messages when you accidentally call methods on nil. config.whiny_nils = true # Show full error reports and disable caching config.consider_all_requests_local = true config.action_controller.perform_caching = false # Don't care if the mailer can't send config.action_mailer.raise_delivery_errors = false # Print deprecation notices to the Rails logger config.active_support.deprecation = :log # Only use best-standards-support built into browsers config.action_dispatch.best_standards_support = :builtin # Do not compress assets config.assets.compress = false # Expands the lines which load the assets config.assets.debug = true #Ensure that log level is set to capture ALL messages (from Stack Overflow) config.log_level = :debug end </code></pre> <p>Finally here is the <code>development.log</code> output so far:</p> <pre><code>Larson-2:sample larson$ tail -f log/development.log (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" (0.0ms) PRAGMA index_list("users") (0.1ms) SELECT "schema_migrations"."version" FROM "schema_migrations" (0.2ms) select sqlite_version(*) (1.8ms) CREATE TABLE "users" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "name" varchar(255), "email" varchar(255), "created_at" datetime, "updated_at" datetime) (1.1ms) CREATE TABLE "schema_migrations" ("version" varchar(255) NOT NULL) (0.0ms) PRAGMA index_list("schema_migrations") (1.6ms) CREATE UNIQUE INDEX "unique_schema_migrations" ON "schema_migrations" ("version") (0.1ms) SELECT version FROM "schema_migrations" (1.0ms) INSERT INTO "schema_migrations" (version) VALUES ('20110915130358') </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload