Monday, June 23, 2014

RESTful for Angular / draft

# FAQ ## need to (de)serialize some fields. For example, if your server works only with data in a specific format. And you need to convert it to this format before send and deconvert when you get data from server to receive Date object in your Angular application.

Wednesday, June 11, 2014

How to setup Winston logger by JSON config / Node.js

In other words - how to setup multiple Winston logger by nconf.

Libs

/**
* Setup multiple winston logger:
* https://github.com/flatiron/winston#working-with-multiple-loggers-in-winston
*
* by nconf:
* https://github.com/flatiron/nconf
*/
var winston = require('winston'),
nconf = require('nconf');
var config = nconf.argv()
.env()
.file({ file: 'scripts/config/local_settings.json' })
.file({ file: 'scripts/config/global_settings.json' });
var loggerConfig = config.get('logger');
Object.keys(loggerConfig).forEach(function(key) {
winston.loggers.add(key, loggerConfig[key]);
});
/**
* global_settings.json
*/
{
"logger": {
"db": {
"console": {
"level": "info",
"colorize": true,
"label": "db"
}
},
"express": {
"console": {
"level": "info",
"colorize": true,
"label": "express"
}
},
"passport": {
"console": {
"level": "info",
"colorize": "true",
"label": "passport"
}
}
}
}
/**
* usage
*/
var logger = require('winston').loggers.get('express');
logger.info('hello world!');
view raw setupLogger.js hosted with ❤ by GitHub