1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

clear all environments log files by default

In #22703, `log:clear` task has been changed to clear only standard environment
log files.
However, it is often to add a non-standard environment(e.g. "staging").
Therefore, I think than it is better to clear all environments log files by default.
This commit is contained in:
yuuji.yaginuma 2016-09-10 10:43:09 +09:00
parent e10e3c7da2
commit 447e1a4881
3 changed files with 43 additions and 2 deletions

View file

@ -1,3 +1,7 @@
* The `log:clear` task clear all environments log files by default.
*Yuji Yaginuma*
* Allow the use of listen's 3.1.x branch
*Esteban Santana Santana*

View file

@ -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

View file

@ -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