#!/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
Read more: http://feeds.dzone.com/~r/dzone/snippets/~3/H2f3g2Se6bk/10467