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:
parent
e10e3c7da2
commit
447e1a4881
3 changed files with 43 additions and 2 deletions
|
@ -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*
|
||||
|
|
|
@ -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
|
||||
|
|
33
railties/test/application/rake/log_test.rb
Normal file
33
railties/test/application/rake/log_test.rb
Normal 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
|
Loading…
Reference in a new issue