aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/tasks/log.rake
diff options
context:
space:
mode:
authorMatt Bridges <mbridges.91@gmail.com>2013-01-16 12:27:06 -0600
committerMatt Bridges <mbridges.91@gmail.com>2013-01-16 17:12:32 -0600
commit08ac4b967255af6a5d10f36bdec2bf514e5dd500 (patch)
tree1af5c527b0e9e87ad7c0aa28e951e9e15fb7f702 /railties/lib/rails/tasks/log.rake
parent94384bdbd6aaf95e57887fa5821018b59ca65037 (diff)
downloadrails-08ac4b967255af6a5d10f36bdec2bf514e5dd500.tar.gz
rails-08ac4b967255af6a5d10f36bdec2bf514e5dd500.tar.bz2
rails-08ac4b967255af6a5d10f36bdec2bf514e5dd500.zip
clear specific logs when using rake log:clear
Diffstat (limited to 'railties/lib/rails/tasks/log.rake')
-rw-r--r--railties/lib/rails/tasks/log.rake22
1 files changed, 18 insertions, 4 deletions
diff --git a/railties/lib/rails/tasks/log.rake b/railties/lib/rails/tasks/log.rake
index 6e1334692e..6c3f02eb0c 100644
--- a/railties/lib/rails/tasks/log.rake
+++ b/railties/lib/rails/tasks/log.rake
@@ -1,9 +1,23 @@
namespace :log do
- desc "Truncates all *.log files in log/ to zero bytes"
+ desc "Truncates all *.log files in log/ to zero bytes (specify which logs with LOGS=test,development)"
task :clear do
- FileList["log/*.log"].each do |log_file|
- f = File.open(log_file, "w")
- f.close
+ log_files.each do |file|
+ clear_log_file(file)
end
end
+
+ def log_files
+ if ENV['LOGS']
+ ENV['LOGS'].split(',')
+ .map { |file| "log/#{file.strip}.log" }
+ .select { |file| File.exists?(file) }
+ else
+ FileList["log/*.log"]
+ end
+ end
+
+ def clear_log_file(file)
+ f = File.open(file, "w")
+ f.close
+ end
end