fm-log
v4.4.3
Published
Console logging facility for Node
Downloads
117
Readme
fm-log
What?
Straight-forward logging module.
- lines up everything in nice columns
- uses colors
- sends everything straight to
process.stderr(no events, nonextTick()) if desired - condenses repeated messages
- displays stack traces for logged Error instances and other multi-line content nicely
- optionally displays the source of the logging call
- supports wrapping of morgan in your express app
- can replace the debug module, using hartwig-at/debug
Example
var log = require( "fm-log" ).module( "demo" );
log.info( "Logging without source tracing" );
log.notice( "Initializing application...\nwow\nsuch application" );
log.critical( new Error( "Logging an Error instance." ) );
log.withSource();
log.info( "Logging WITH source tracing" );
log.notice( "You'll never know where this was logged from!" );
log = require( "fm-log" );
log.warn( "We don't need no prefix!" );
log = require( "fm-log" ).module( "something weird" );
log.warn( "...or do we?" );
log = require( "fm-log" );
log.notice( "You're using a longer prefix? I'll adjust." );
log = require( "fm-log" ).module();
log.error( "ouch" );
// Wrap morgan
app.use( require( "fm-log" ).module( "HTTP" ).morgan( {format : "dev"} ) );How?
Install
npm install fm-logPut this in every file where you want to log:
var log = require( "fm-log" ).module();Then just use log.info or one of the other logging levels shown above.
For loggers without a specific prefix, just require() the module and use it directly:
var generic = require( "fm-log" );
generic.notice( "We don't need no prefix" );To log to a different stream (process.stdout is the default), use .to():
var logger = require( "fm-log" ).to( process.stderr );To send data straight to the output stream (without nextTick()), use .sync():
var logger = require( "fm-log" ).sync();