The code based on the logger Rails uses by default; as mentioned in the Rails configuration guide: > [the logger] defaults to an instance of ActiveSupport::TaggedLogging > that wraps an instance of ActiveSupport::Logger which outputs a log to > the log/ directory. You can supply a custom logger, to get full > compatibility you must follow these guidelines: > > * To support a formatter, you must manually assign a formatter from > the config.log_formatter value to the logger. > * To support tagged logs, the log instance must be wrapped with > ActiveSupport::TaggedLogging. > * To support silencing, the logger must include > ActiveSupport::LoggerSilence module. The ActiveSupport::Logger class > already includes these modules.
130 lines
5.8 KiB
Ruby
130 lines
5.8 KiB
Ruby
Rails.application.configure do
|
|
# Settings specified here will take precedence over those in config/application.rb.
|
|
|
|
# Code is not reloaded between requests.
|
|
config.cache_classes = true
|
|
|
|
# Eager load code on boot. This eager loads most of Rails and
|
|
# your application in memory, allowing both threaded web servers
|
|
# and those relying on copy on write to perform better.
|
|
# Rake tasks automatically ignore this option for performance.
|
|
config.eager_load = true
|
|
|
|
# Because autoloading is disabled in production environments with Rails 5,
|
|
# using autoload_paths will not load needed classes from specified paths.
|
|
# The solution to this, is to ask Rails to eager load classes.
|
|
config.eager_load_paths += ["#{config.root}/lib"]
|
|
|
|
# Full error reports are disabled and caching is turned on.
|
|
config.consider_all_requests_local = false
|
|
config.action_controller.perform_caching = true
|
|
|
|
# Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"]
|
|
# or in config/master.key. This key is used to decrypt credentials (and other encrypted files).
|
|
# config.require_master_key = true
|
|
|
|
# Disable serving static files from the `/public` folder by default since
|
|
# Apache or NGINX already handles this.
|
|
config.public_file_server.enabled = ENV["RAILS_SERVE_STATIC_FILES"].present?
|
|
|
|
# Compress JavaScripts and CSS.
|
|
config.assets.js_compressor = Uglifier.new(harmony: true)
|
|
# config.assets.css_compressor = :sass
|
|
|
|
# Do not fallback to assets pipeline if a precompiled asset is missed.
|
|
config.assets.compile = false
|
|
|
|
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
|
|
# config.action_controller.asset_host = "http://assets.example.com"
|
|
|
|
# Specifies the header that your server uses for sending files.
|
|
# config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
|
|
# config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
|
|
|
|
# Mount Action Cable outside main process or domain.
|
|
# config.action_cable.mount_path = nil
|
|
# config.action_cable.url = "wss://example.com/cable"
|
|
# config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
|
|
|
|
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
|
|
# Configure force_ssl in secrets.yml
|
|
config.force_ssl = Rails.application.secrets.force_ssl
|
|
|
|
# Use the lowest log level to ensure availability of diagnostic information
|
|
# when problems arise.
|
|
config.log_level = :debug
|
|
|
|
# Prepend all log lines with the following tags.
|
|
config.log_tags = [:request_id]
|
|
|
|
# Use a different cache store in production.
|
|
config.cache_store = :mem_cache_store, { namespace: proc { Tenant.current_schema }}
|
|
|
|
# Use a real queuing backend for Active Job (and separate queues per environment).
|
|
# config.active_job.queue_adapter = :resque
|
|
# config.active_job.queue_name_prefix = "consul_#{Rails.env}"
|
|
config.action_mailer.perform_caching = false
|
|
|
|
# Ignore bad email addresses and do not raise email delivery errors.
|
|
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
|
|
config.action_mailer.raise_delivery_errors = true
|
|
config.action_mailer.default_url_options = { host: Rails.application.secrets.server_name }
|
|
|
|
# Configure your SMTP service credentials in secrets.yml
|
|
if Rails.application.secrets.smtp_settings
|
|
config.action_mailer.delivery_method = Rails.application.secrets.mailer_delivery_method || :smtp
|
|
config.action_mailer.smtp_settings = Rails.application.secrets.smtp_settings
|
|
end
|
|
|
|
# Disable locale fallbacks for I18n
|
|
# (prevents using fallback locales set in application.rb).
|
|
# config.i18n.fallbacks = false
|
|
|
|
# Send deprecation notices to registered listeners.
|
|
config.active_support.deprecation = :notify
|
|
|
|
# Use default logging formatter so that PID and timestamp are not suppressed.
|
|
config.log_formatter = ::Logger::Formatter.new
|
|
|
|
# Rotate logger
|
|
logger = ActiveSupport::Logger.new(config.default_log_file, "daily")
|
|
logger.formatter = config.log_formatter
|
|
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
|
|
|
# Use a different logger for distributed setups.
|
|
# require "syslog/logger"
|
|
# config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new "app-name")
|
|
|
|
if ENV["RAILS_LOG_TO_STDOUT"].present?
|
|
logger = ActiveSupport::Logger.new(STDOUT)
|
|
logger.formatter = config.log_formatter
|
|
config.logger = ActiveSupport::TaggedLogging.new(logger)
|
|
end
|
|
|
|
# Do not dump schema after migrations.
|
|
config.active_record.dump_schema_after_migration = false
|
|
|
|
# Inserts middleware to perform automatic connection switching.
|
|
# The `database_selector` hash is used to pass options to the DatabaseSelector
|
|
# middleware. The `delay` is used to determine how long to wait after a write
|
|
# to send a subsequent read to the primary.
|
|
#
|
|
# The `database_resolver` class is used by the middleware to determine which
|
|
# database is appropriate to use based on the time delay.
|
|
#
|
|
# The `database_resolver_context` class is used by the middleware to set
|
|
# timestamps for the last write to the primary. The resolver uses the context
|
|
# class timestamps to determine how long to wait before reading from the
|
|
# replica.
|
|
#
|
|
# By default Rails will store a last write timestamp in the session. The
|
|
# DatabaseSelector middleware is designed as such you can define your own
|
|
# strategy for connection switching and pass that into the middleware through
|
|
# these configuration options.
|
|
# config.active_record.database_selector = { delay: 2.seconds }
|
|
# config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver
|
|
# config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session
|
|
end
|
|
|
|
require Rails.root.join("config", "environments", "custom", "staging")
|