我在登录我的开发环境时遇到了一些问题。
这是我的 Rails.logger 的样子:
Loading development environment (Rails 3.2.13)
irb(main):001:0> Rails.logger
=> #<ActiveSupport::TaggedLogging:0x007fe83533caa0 @logger=#<Logger:0x007fe83533cc30 @progname=nil, @level=1, @default_formatter=#<Logger::Formatter:0x007fe83533cbe0 @datetime_format=nil>, @formatter=#<Logger::SimpleFormatter:0x007fe83533caf0 @datetime_format=nil>, @logdev=#<Logger::LogDevice:0x007fe83533cb90 @shift_size=nil, @shift_age=nil, @filename=nil, @dev=#<IO:/dev/ttys023>, @mutex=#<Logger::LogDevice::LogDeviceMutex:0x007fe83533cb68 @mon_owner=nil, @mon_count=0, @mon_mutex=#<Mutex:0x007fe83533cb18>>>>>
irb(main):002:0>
我的日志目录的权限为 755:
drwxr-xr-x 7 manderson staff 238B Oct 4 15:17 log
/log 目录的内容如下所示:
$ ls -lah log/
total 32
drwxr-xr-x 7 manderson staff 238B Oct 4 15:17 .
drwxr-xr-x@ 23 manderson staff 782B Oct 4 15:38 ..
-rw-r--r-- 1 manderson staff 0B Aug 26 13:23 .gitkeep
-rw-rw-rw- 1 manderson staff 0B Oct 4 15:38 development.log
-rw-r--r-- 1 manderson staff 13K Oct 7 10:43 newrelic_agent.log
-rw-r--r-- 1 manderson staff 0B Oct 4 15:38 production.log
-rw-rw-rw- 1 manderson staff 0B Oct 4 15:38 test.log
如您所见,我的 development.log 文件已获得正确许可(我认为),但 Rails.logger 没有正确设置 log/development.log。
知道为什么会发生这种情况吗?提前致谢。
编辑:这是我的配置/环境/development.rb:
MyAppName::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
config.cache_store = :dalli_store
# 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
# Raise exception on mass assignment protection for Active Record models
# config.active_record.mass_assignment_sanitizer = :strict
# Log the query plan for queries taking more than this (works
# with SQLite, MySQL, and PostgreSQL)
# config.active_record.auto_explain_threshold_in_seconds = 0.5
# Do not compress assets
config.assets.compress = false
# Expands the lines which load the assets
config.assets.debug = true
config.log_level = :debug
end
编辑2:这是我的application.rb。抱歉这篇文章太长了,谢谢阅读:)
require File.expand_path('../boot', __FILE__)
require "action_controller/railtie"
require "action_mailer/railtie"
require "active_resource/railtie"
require "rails/test_unit/railtie"
require "sprockets/railtie"
if defined?(Bundler)
# If you precompile assets before deploying to production, use this line
Bundler.require(*Rails.groups(:assets => %w(development test)))
# If you want your assets lazily compiled in production, use this line
# Bundler.require(:default, :assets, Rails.env)
end
module MyAppName
class Application < Rails::Application
# Settings in config/environments/* take precedence over those specified here.
# Application configuration should go into files in config/initializers
# -- all .rb files in that directory are automatically loaded.
# Configure the default encoding used in templates for Ruby 1.9.
config.encoding = "utf-8"
# Configure sensitive parameters which will be filtered from the log file.
config.filter_parameters += [:password]
# Enable escaping HTML in JSON.
config.active_support.escape_html_entities_in_json = true
# Use SQL instead of Active Record's schema dumper when creating the database.
# This is necessary if your schema can't be completely dumped by the schema dumper,
# like if you have constraints or database-specific column types
# config.active_record.schema_format = :sql
# Enforce whitelist mode for mass assignment.
# This will create an empty whitelist of attributes available for mass-assignment for all models
# in your app. As such, your models will need to explicitly whitelist or blacklist accessible
# parameters by using an attr_accessible or attr_protected declaration.
# config.active_record.whitelist_attributes = true
# Enable the asset pipeline
config.assets.enabled = true
# Don't load rails environment during asset precompilation
config.assets.initialize_on_precompile = false
# Version of your assets, change this if you want to expire all your assets
config.assets.version = '1.1'
end
end