public
Last active

grep_rails_log_file

  • Download Gist
grep_rails_log_file.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
#!/usr/bin/env ruby
 
if ARGV.empty?
puts <<-USAGE
Use like tail -f log/production.log | #{ $PROGRAM_NAME } request_regexp
 
Examples:
 
Show only local requests:
tail -f log/production.log | #{ $PROGRAM_NAME } 127.0.0.1
 
Show only GET requests:
tail -f log/production.log | #{ $PROGRAM_NAME } GET
 
Show only requests to /updates path:
tail -f log/production.log | #{ $PROGRAM_NAME } /updates
USAGE
exit(0)
end
 
request_regexp = /#{ ARGV[0] }/
 
STDIN.slice_before(/Started (GET|POST|PUT|DELETE)/).each do |request_log|
puts request_log if request_log.first =~ request_regexp
end

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.