Currently, varnishlog does not support very advanced filtering. If
you run it with -o, you can also do a regular expression match on tag
- expression. An example would be
varnishlog -o TxStatus 404 to only
show log records where the transmitted status is 404 (not found).
While in Brazil, I needed something a bit more expressive. I needed
something that would tell me if I had vcl_recv call pass and the URL
ended in .jpg.
varnishlog -o -c | perl -ne 'BEGIN { $/ = "";} print if
(/RxURL.*jpg$/m and /VCL_call.*recv pass/);'
fixed this for me.
It is sad to see how people complain about
how packaging Ruby gems is painful. It seems like it is the Java
packaging game all over again where any application ships its
dependencies in a lib/ directory (or in the case of Rails,
vendor/). Mac OS X applications seem to do some of the same thing
by shipping lots of libraries in their application bundle, which is
really just a directory with some magic files in it.
This is of course just like static linking, which we made away with
for most software many years ago, mostly due to the pain associated
with any kind of security updates.
Update: What I find sad is that people keep making the same mistakes
we made and corrected years ago, not that people are complaining
about those mistakes.