aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/tasks/log.rake
diff options
context:
space:
mode:
Diffstat (limited to 'railties/lib/rails/tasks/log.rake')
-rw-r--r--railties/lib/rails/tasks/log.rake26
1 files changed, 16 insertions, 10 deletions
diff --git a/railties/lib/rails/tasks/log.rake b/railties/lib/rails/tasks/log.rake
index 073f235ec5..e219277d23 100644
--- a/railties/lib/rails/tasks/log.rake
+++ b/railties/lib/rails/tasks/log.rake
@@ -1,9 +1,11 @@
+# frozen_string_literal: true
+
namespace :log do
-
- ##
+
+ ##
# Truncates all/specified log files
- # ENV['LOGS']
- # - defaults to standard environment log files i.e. 'development,test,production'
+ # ENV['LOGS']
+ # - 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)"
@@ -14,23 +16,27 @@ namespace :log do
end
def log_files
- if ENV['LOGS'] == 'all'
+ if ENV["LOGS"] == "all"
FileList["log/*.log"]
- elsif ENV['LOGS']
- log_files_to_truncate(ENV['LOGS'])
+ 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
def log_files_to_truncate(envs)
- envs.split(',')
+ envs.split(",")
.map { |file| "log/#{file.strip}.log" }
.select { |file| File.exist?(file) }
end
-
+
def clear_log_file(file)
f = File.open(file, "w")
f.close
end
+
+ def all_environments
+ Dir["config/environments/*.rb"].map { |fname| File.basename(fname, ".*") }
+ end
end