mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Merge pull request #8964 from mattdbridges/specify-log-to-clear
Clear specific logs when using `rake log:clear`
This commit is contained in:
commit
f5aa4d9a1b
3 changed files with 24 additions and 5 deletions
|
@ -355,7 +355,7 @@ rake assets:clean # Remove compiled assets
|
|||
rake assets:precompile # Compile all the assets named in config.assets.precompile
|
||||
rake db:create # Create the database from config/database.yml for the current Rails.env
|
||||
...
|
||||
rake log:clear # Truncates all *.log files in log/ to zero bytes
|
||||
rake log:clear # Truncates all *.log files in log/ to zero bytes (specify which logs with LOGS=test,development)
|
||||
rake middleware # Prints out your Rack middleware stack
|
||||
...
|
||||
rake tmp:clear # Clear session, cache, and socket files from tmp/ (narrow w/ tmp:sessions:clear, tmp:cache:clear, tmp:sockets:clear)
|
||||
|
|
|
@ -1,5 +1,10 @@
|
|||
## Rails 4.0.0 (unreleased) ##
|
||||
|
||||
* Specify which logs to clear when using the `rake log:clear` task.
|
||||
(e.g. rake log:clear LOGS=test,staging)
|
||||
|
||||
*Matt Bridges*
|
||||
|
||||
* Allow a `:dirs` key in the `SourceAnnotationExtractor.enumerate` options
|
||||
to explicitly set the directories to be traversed so it's easier to define
|
||||
custom rake tasks.
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue