Adding color to log files makes them a lot easier to understand, especially when tailing them. That’s why tools like MultiTail were created, and somelogging tools can output in color. Last night I realized color could be added to any log file using ack, an awesome grep replacement that I recently found.
For example, to make 404s red in a standard Apache access log:
The --passthru option makes it so no lines are discarded. You can use multiple colors by piping the output through ack multiple times. The --flush option is needed to prevent pipe buffering issues and the --color option is needed to pass colors through. Here’s an example:
You can use more complex colors like --color="white on_red" to make errors stand out even more.
I wonder what other cool things ack can do…
Note: You could also do this with perl, but it looks a lot less maintainable.
I usually do something wrong when I create test scripts (typo in shebang, not executable, missing open PHP tag, etc) so I wrote a small tool called mkscript that can create them for me.
Basically, instead of doing:
You just do:
It knows how to create scripts for bash, perl, php, python, and ruby based on the extension you provide. You can get it here.