diff options
author | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2016-12-29 02:21:37 -0500 |
---|---|---|
committer | Rafael Mendonça França <rafaelmfranca@gmail.com> | 2016-12-29 02:21:37 -0500 |
commit | 366f094598305074c4430fab581ddfd599c1cf96 (patch) | |
tree | 0017a57044ec8e466c97cc6b7879d39caa6c1ffa | |
parent | fcec126eaa4f835c837bc75efa78008667b2ec5b (diff) | |
parent | eb6a6141a66e052deb58580448d7c0fa6aa675ba (diff) | |
download | rails-366f094598305074c4430fab581ddfd599c1cf96.tar.gz rails-366f094598305074c4430fab581ddfd599c1cf96.tar.bz2 rails-366f094598305074c4430fab581ddfd599c1cf96.zip |
Merge pull request #26443 from y-yagi/clear_all_environments_log_by_default
clear all environments log files by default
-rw-r--r-- | railties/CHANGELOG.md | 4 | ||||
-rw-r--r-- | railties/lib/rails/tasks/log.rake | 8 | ||||
-rw-r--r-- | railties/test/application/rake/log_test.rb | 33 |
3 files changed, 43 insertions, 2 deletions
diff --git a/railties/CHANGELOG.md b/railties/CHANGELOG.md index 26660dd873..d7d1a66863 100644 --- a/railties/CHANGELOG.md +++ b/railties/CHANGELOG.md @@ -1,3 +1,7 @@ +* The `log:clear` task clear all environments log files by default. + + *Yuji Yaginuma* + * Add Webpack support in new apps via the --webpack option, which will delegate to the rails/webpacker gem. To generate a new app that has Webpack dependencies configured and binstubs for webpack and webpack-watcher: diff --git a/railties/lib/rails/tasks/log.rake b/railties/lib/rails/tasks/log.rake index c376234fee..ba796845d7 100644 --- a/railties/lib/rails/tasks/log.rake +++ b/railties/lib/rails/tasks/log.rake @@ -3,7 +3,7 @@ namespace :log do ## # Truncates all/specified log files # ENV['LOGS'] - # - defaults to standard environment log files i.e. 'development,test,production' + # - defaults to all environments log files i.e. 'development,test,production' # - ENV['LOGS']=all truncates all files i.e. log/*.log # - ENV['LOGS']='test,development' truncates only specified files desc "Truncates all/specified *.log files in log/ to zero bytes (specify which logs with LOGS=test,development)" @@ -19,7 +19,7 @@ namespace :log do elsif ENV["LOGS"] log_files_to_truncate(ENV["LOGS"]) else - log_files_to_truncate("development,test,production") + log_files_to_truncate(all_environments.join(",")) end end @@ -33,4 +33,8 @@ namespace :log do f = File.open(file, "w") f.close end + + def all_environments + Dir["config/environments/*.rb"].map { |fname| File.basename(fname, ".*") } + end end diff --git a/railties/test/application/rake/log_test.rb b/railties/test/application/rake/log_test.rb new file mode 100644 index 0000000000..fdd3c71fe8 --- /dev/null +++ b/railties/test/application/rake/log_test.rb @@ -0,0 +1,33 @@ +require "isolation/abstract_unit" + +module ApplicationTests + module RakeTests + class LogTest < ActiveSupport::TestCase + include ActiveSupport::Testing::Isolation + + def setup + build_app + end + + def teardown + teardown_app + end + + test "log:clear clear all environments log files by default" do + Dir.chdir(app_path) do + File.open("config/environments/staging.rb", "w") + + File.write("log/staging.log", "staging") + File.write("log/test.log", "test") + File.write("log/dummy.log", "dummy") + + `rails log:clear` + + assert_equal 0, File.size("log/test.log") + assert_equal 0, File.size("log/staging.log") + assert_equal 5, File.size("log/dummy.log") + end + end + end + end +end |