Railsのconfigの読み込まれる順番を確認してみる
RailsでHello, world!を表示してみる
の続き
Railsのconfigの読み込まれる順番を確認してみる。
configの中身の確認
現状、configの中身は下記の通り。
$ tree config/ config/ ├── application.rb ├── boot.rb ├── database.yml ├── environment.rb ├── environments │ ├── development.rb │ ├── production.rb │ └── test.rb ├── initializers │ ├── backtrace_silencers.rb │ ├── filter_parameter_logging.rb │ ├── inflections.rb │ ├── mime_types.rb │ ├── secret_token.rb │ ├── session_store.rb │ └── wrap_parameters.rb ├── locales │ └── en.yml └── routes.rb
configファイルにログを仕込む
configのrbファイルの先頭に、下記のような感じで
配列にファイル名を設定する処理を埋め込む。
$ vi config/application.rb
$log=[] if !defined?($log) $log.push("application.rb") ・・・
同様の修正を下記のファイルにも行う。
$ vi config/boot.rb $ vi config/environment.rb $ vi config/environments/development.rb $ vi config/initializers/backtrace_silencers.rb $ vi config/initializers/filter_parameter_logging.rb $ vi config/initializers/inflections.rb $ vi config/initializers/mime_types.rb $ vi config/initializers/secret_token.rb $ vi config/initializers/session_store.rb $ vi config/initializers/wrap_parameters.rb $ vi config/routes.rb
確認
$log変数を出力するよう修正する
$ vi app/controllers/sample_controller.rb
class SampleController < ApplicationController def index render :json => $log end end
再起動して反映する。
$ sudo service httpd restart
ブラウザからアクセスすると、下記のように表示される。
[ "environment.rb", "application.rb", "boot.rb", "environments/development.rb", "initializers/backtrace_silencers.rb", "initializers/filter_parameter_logging.rb", "initializers/inflections.rb", "initializers/mime_types.rb", "initializers/secret_token.rb", "initializers/session_store.rb", "initializers/wrap_parameters.rb", "routes.rb" ]