Bock is a strong lager (logger) of German (US) origin

Usage no npm install needed!

<script type="module">
  import bock from '';


bock NPM version js-standard-style Build Status

Bock is a strong lager logger of German US origin


$ npm install --save bock


const options = { appName: 'myAwesomeApp', logLevel: 'warn', toFile: true }
const bock = require('bock')(options)
bock.fatal(new Error('something went wrong'))


Bock exports a primary function which returns an instance with methods (debug, info, warn, fatal, setLogLevel, close)

  • options (Object - optional)
    • appName (String - optional - default: 'bock') Base name to use for log files (${appName}-${month}-${day}-${year}.json)
    • logBase (String - optional - default: __dirname + '/logs') Path for log files
    • logLevel (String - optional - default: 'debug') Threshold for logging (i.e. if warn it won't log debug or info errors)
    • newline (Boolean - optional - default: true) Use newline delimited JSON (highly recommended for performance reasons)
    • toConsole (Boolean - optional - default: true) Should log to console
    • toFile (Boolean - optional - default: true) Should log to file
    • whitelist (Array - optional) List of ignored error types / messages
    • track (Boolean - optional - default: false) Should log methods return a Promise indicating the log was written

Each of the four methods (debug, info, warn, fatal) accept an Error object, a string, or a function that returns one of those two things.

Where const logger = bock([opts]) (i.e. on an instance) the following methods are also available

logger.setLogLevel(string logLevel) Changes logLevel setting on instance

logger.close() Close forked process used for file writing

Additionally, you can choose to use the bock.cached([opts]) which will return the last instance instantiated using the cached method or create a new one with the passed opts (and cache it).


MIT © Andrew Carpenter