diff options
author | Matt Bridges <mbridges.91@gmail.com> | 2013-01-16 12:27:06 -0600 |
---|---|---|
committer | Matt Bridges <mbridges.91@gmail.com> | 2013-01-16 17:12:32 -0600 |
commit | 08ac4b967255af6a5d10f36bdec2bf514e5dd500 (patch) | |
tree | 1af5c527b0e9e87ad7c0aa28e951e9e15fb7f702 /railties/lib/rails/tasks | |
parent | 94384bdbd6aaf95e57887fa5821018b59ca65037 (diff) | |
download | rails-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')
-rw-r--r-- | railties/lib/rails/tasks/log.rake | 22 |
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 |