Filter out undesired log levels from your [Caterpillar]( logger stream

npm install caterpillar-filter
52 downloads in the last day
619 downloads in the last week
3 129 downloads in the last month

Filter Transform for Caterpillar

Build Status NPM version Gittip donate button Flattr donate button PayPayl donate button

Filter out undesired log levels from your Caterpillar logger stream


Node, Browserify

  • Use: require('caterpillar-filter')
  • Install: npm install --save caterpillar-filter


  • Use: require('caterpillar-filter')
  • Install: ender add caterpillar-filter



// Import
var logger = require('caterpillar').createLogger();
var filter = require('caterpillar-filter').createFilter({level:6});  // omit log level entries above 6

// Pipe logger output to filter, then filter output to stdout

// Log
logger.log('info',  'this is the first log entry');   // info is level 6
logger.log('debug', 'this is the second log entry');  // debug is level 7, this will be omitted by our filter
logger.log('info',  'this is the third log entry');   // info is level 6

// Outputs
// {"args":["this is the first log entry"],"date":"2013-04-25T08:48:38.941Z","levelCode":6,"levelName":"info","line":"9","method":"Object.<anonymous>","file":"/Users/balupton/Projects/caterpillar-filter/example.js"}
// {"args":["this is the third log entry"],"date":"2013-04-25T08:48:38.948Z","levelCode":6,"levelName":"info","line":"11","method":"Object.<anonymous>","file":"/Users/balupton/Projects/caterpillar-filter/example.js"}

Filter API, extends caterpillar.Transform, which extends stream.Transform

new (require('caterpillar-filter').Filter)(config)
  • Methods
    • constructor(config?) create our new filter instance with the config, config is optional
    • pipe(child) pipe our stream to the child, also sync our config to it
    • setConfig(config) set the configuration and emit the config event
    • getConfig() get the configuration
    • format(entry) format the caterpillar logger entry
  • Configuration
    • level number, defaults to 6, anything higher will be omitted
  • Events
    • config(config) emitted once our configuration has updated


Discover the change history by heading on over to the file.



These amazing people are maintaining this project:


No sponsors yet! Will you be the first?

Gittip donate button Flattr donate button PayPayl donate button


These amazing people have contributed code to this project:

Become a contributor!


Licensed under the incredibly permissive MIT license

Copyright © 2012+ Bevry Pty Ltd (
Copyright © 2011 Benjamin Lupton (

npm loves you