Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
realtime log streamer
branch: master

Merge pull request #6 from mhorbul/master

Close all readers when main process got TERM signal
latest commit 0470169766
John Goulah jgoulah authored
Failed to load latest commit information.
lib first
static Enhancements to the interactive Guide :
.gitignore first example log line
build first
localConfig.js first
package.json first
runlocal first
stream.js exit with 0 status code when TERM signal is trapped
supergrep.init adding init script example


Supergrep is a web based log streamer written in node. It can be used quite nicely to surface new log lines (errors, etc.) that aren't normally expected.

Essentially, having supergrep running in your browser while changes are being made allows for new/novel log patterns to show up, because under the hood, what we're really doing is:

$ tail -f {log filename} | grep -v {stuff you'd expect to see in log lines}

It's intended on being a noise reduction and change-awareness tool.


In order to run supergrep, you need NodeJS and npm ( NodeJS package manager).

Getting Started

You can edit variables in localConfig.js and also in static/js/supergrep.js. Most of this should work out of the box but some of the cooler functionality is enabled by assuming certain pieces of data can be found in your logs. You'll have to adjust the regexes to suit your logs.

Then you can install the node packages:

$ npm install

Run it from your install directory like:

$ ./runlocal

Point your browser to localhost (default port:3000) and then click on "Guide" to get a tour.


After setting this up locally and seeing how it works you'll probably want to run in production. There are many init daemons that you can run this under. We've included a simple init.d script to get you started. This is known to work under RedHat flavers of linux. You will have to edit the OPTIONS to specify the path where supergrep is installed. It also sets a parameter for prodConfig.js that can take similar options as the localConfig.js that is included.

Log Format

Here is an example log line from our logs that this tool supports. You can modify it to support your log format.

web0081 : [Tue Aug 28 13:55:05 2012] [error] [client] [e4G2F4OpKIEiCj-eAQuEKo-H-XDB] [error] [ClientLogger] [/somepath/lib/Logger.php:140] [0] uncaught: message="Object doesn't support this action" referrer="" data="{"url":"","line":5,"userAgent":"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C)"}", referer:


Patches welcome!

Something went wrong with that request. Please try again.