Created
January 7, 2016 20:57
-
-
Save gcoonrod/fc25881512fd177c3c2f to your computer and use it in GitHub Desktop.
Testing winston custom logging
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
> $ npm start ⬡ 4.2.1 | |
> [email protected] start /Users/coonrod/dev/node/winston-test | |
> node index.js | |
2016-01-07T20:59:32.426Z - info: Logger initialized, standard log levels. | |
2016-01-07T20:59:32.429Z - info: Testing syslog levels. Info through emerg should be visible. | |
Attempting level trace | |
Attempting level debug | |
Attempting level info | |
2016-01-07T20:59:32.432Z - info: Testing level info | |
Attempting level notice | |
2016-01-07T20:59:32.432Z - notice: Testing level notice | |
Attempting level warning | |
2016-01-07T20:59:32.432Z - warning: Testing level warning | |
Attempting level error | |
2016-01-07T20:59:32.432Z - error: Testing level error | |
Attempting level crit | |
2016-01-07T20:59:32.432Z - crit: Testing level crit | |
Attempting level alert | |
2016-01-07T20:59:32.432Z - alert: Testing level alert | |
Attempting level emerg | |
2016-01-07T20:59:32.432Z - emerg: Testing level emerg | |
2016-01-07T20:59:32.432Z - info: Testing custom levels. Only info through emerg should be visible. | |
Attempting level trace | |
2016-01-07T20:59:32.433Z - trace: Testing level trace | |
Attempting level debug | |
2016-01-07T20:59:32.433Z - debug: Testing level debug | |
Attempting level info | |
2016-01-07T20:59:32.433Z - info: Testing level info | |
Attempting level notice | |
Attempting level warning | |
Attempting level error | |
Attempting level crit | |
Attempting level alert | |
Attempting level emerg |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var winston = require('winston'); | |
var transports = []; | |
function consoleTransport(w){ | |
return new(w.transports.Console)({ | |
colorize: true, | |
level: 'info', | |
timestamp: true | |
}); | |
} | |
transports.push(consoleTransport(winston)); | |
var levels = { | |
"trace": 0, | |
"debug": 1, | |
"info": 2, | |
"notice": 3, | |
"warning": 4, | |
"error": 5, | |
"crit": 6, | |
"alert": 7, | |
"emerg": 8 | |
}; | |
var colors = { | |
"trace": "magenta", | |
"debug": "blue", | |
"info": "green", | |
"notice": "yellow", | |
"warning": "red", | |
"error": "red", | |
"crit": "red", | |
"alert": "yellow", | |
"emerg": "red" | |
}; | |
var logger = new (winston.Logger)({transports: transports}); | |
logger.setLevels(winston.config.syslog.levels); | |
function log(message, severity){ | |
if(severity === undefined || severity === null){ | |
severity = 'info'; | |
} | |
var args = [severity, message]; | |
args.push.apply(args, Array.prototype.slice.call(arguments, 2)); | |
logger.log.apply(logger, args); | |
} | |
log("Logger initialized, standard log levels.", 'info'); | |
try{ | |
var testLevels = [ | |
"trace", | |
"debug", | |
"info", | |
"notice", | |
"warning", | |
"error", | |
"crit", | |
"alert", | |
"emerg" | |
]; | |
log("Testing syslog levels. Info through emerg should be visible."); | |
testLevels.forEach(function(level){ | |
var message = "Testing level " + level; | |
console.log("Attempting level " + level); | |
log(message, level); | |
}); | |
logger.setLevels(levels); | |
winston.addColors(colors); | |
log("Testing custom levels. Only info through emerg should be visible."); | |
testLevels.forEach(function(level){ | |
var message = "Testing level " + level; | |
console.log("Attempting level " + level); | |
log(message, level); | |
}); | |
} catch (e){ | |
log("Unsupported logging level!", "error", e); | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"name": "winston-test", | |
"version": "1.0.0", | |
"description": "", | |
"main": "index.js", | |
"scripts": { | |
"test": "echo \"Error: no test specified\" && exit 1", | |
"start": "node index.js" | |
}, | |
"author": "", | |
"license": "MIT", | |
"dependencies": { | |
"winston": "^2.0.0" | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment