ss-logger
v1.0.7
Published
Super Simple JavaScript logging utility
Downloads
12
Maintainers
Readme
ss-logger
A super simple JavaScript logger. It allows labels/tags, custom logging levels, custom output formatting and it's small. It has no dependancies.
Examples
// Standard usage
const log = require('ss-logger')();
log.info('My first info line.');
log.warn({my_obj: 'a'});
log.error('My first error line.');
// Output:
// stdout: 2017-03-10T09:44:06.391Z info: My first info line.
// stderr: 2017-03-10T09:44:06.396Z warn: {"my_obj":"a"}
// stderr: 2017-03-10T09:44:06.394Z error: My first error line.
Meta
- license: Apache-2.0
createLogger
The ss-logger
module returns createLogger()
by default.
Parameters
label
string? The label to print out on lines. Recommend not to use spaces.
Examples
// Each log line can have it's own label / tag.
const myFuncLog = require('ss-logger')('MyFunc');
const yourMethodLog = require('ss-logger')('Yours');
myFuncLog.info('My first info line.');
yourMethodLog.warn({obj: 'a'});
yourMethodLog.error('My first error line.');
// Output:
// stdout: 2017-03-10T09:44:06.391Z info MyFunc: My first info.
// stderr: 2017-03-10T09:44:06.396Z warn Yours: {"obj":"a"}
// stderr: 2017-03-10T09:44:06.394Z error Yours: My first err.
setOutput
By default the error
and warn
levels log output to console.error
, while all other
levels log output to console.log
.
Parameters
output
Object An object with 'log' and 'error' functions.
Examples
log.setOutput({
error: myErrorStream
log: myLogStream
});
- Throws Error
setFormatFunction
Override the default format function. Must supply a function to handle the following parameters (date, level, fnLabel, ...msgArgs).
Parameters
newFormatFunction
Function The new function to do the formatting of the output.
Examples
log.setFormatFunction(function (date, level, label, ...msgArgs) {
const l = level.toUpperCase();
const d = date.getTime();
const s = msgArgs.toString();
return `${l} ${d} ${s}`;
});
log.info('Another info line.');
// Output:
// stdout: INFO 1489198884388 Another info line.
- Throws Error
setLevel
Set the log level of the logger. Anything equal to or below this level
will be output. The default level is info
. The available log levels are:
- error
- warn
- info
- verbose
- debug
- silly
Parameters
newLogLevel
number The new level.
Examples
log.setLevel(log.levels.error);
log.debug('This happened!');
log.info('My first info line.');
log.warn('You have an object: ', {obj: 'a'});
log.error('My second error line.');
// Output:
// stderr: 2017-03-10T09:44:06.394Z error: My second error line.
- Throws Error
Set debug log level from console
From the terminal:
DEBUG=MyFunction node app.js
Note: you can also use the following to enable debugging for all output:
DEBUG=* node app.js
// app.js
const myFuncLog = require('ss-logger')('MyFunc');
const yourMethodLog = require('ss-logger')('Yours');
myFuncLog.debug('My debug message.');
yourMethodLog.debug('Your debug message');
// Output:
// stdout: 2017-03-10T09:44:06.391Z info MyFunc: My debug message.