Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion examples/app.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
var logger = require('../lib/nlogger').logger(module);
var first = require('./my-modules/first');
var second = require('./my-modules/second');
/**
* Example with runtime config - see module code
*/
var second = require('./my-modules/runtime-config');
var third = require('./my-modules/third');

setTimeout(function() {
Expand Down
5 changes: 5 additions & 0 deletions examples/my-modules/runtime-config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
var logger = require('../../lib/nlogger').logger('my-custom-name',{level:{'*':'warn'}});

logger.info('Because of the runtime cfg, this will be ignored.');
logger.warn('But this is visible. Notice the custom name too :-)');
logger.error('And here is a formated string with a number %d and an object %s',5,require('util').inspect({a:1}));
3 changes: 0 additions & 3 deletions examples/my-modules/second.js

This file was deleted.

52 changes: 24 additions & 28 deletions lib/nlogger.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@
*/

var util = require('util'),
fs = require('fs');
fs = require('fs'),
config = false;


function padZero(number) {
Expand Down Expand Up @@ -76,37 +77,27 @@ function getClass(module) {
}
}

function getMessage(items) {
var msg = [], i;
for (i = 0; i < items.length; i++) {
if (typeof items[i] == 'string') {
msg.push(items[i]);
} else {
msg.push(util.inspect(items[i], false, 10));
}
}
return msg.join('');
}

try {
var file = fs.readFileSync('./nlogger.json', 'binary'),
config = JSON.parse(file);
var file = fs.readFileSync('./nlogger.json', 'binary');
config = JSON.parse(file);
} catch(e) {
util.puts(getDate() + ' WARN nlogger - Config file not found. Using default configuration.');
config = {};

}

var defaultLogLevel = config.level && config.level['*'] || 'trace';
var logLevels = config.level || {};
var useColor = config.color || (config.color == 'auto' && process.env.TERM && process.env.TERM.indexOf('color') >= 0);
exports.logger = function(module,_config) {

config = (_config && (typeof _config == 'object')) ? _config : (config ? config : {});

var defaultLogLevel = config.level && config.level['*'] || 'trace';
var logLevels = config.level || {};
var useColor = config.color || (config.color == 'auto' && process.env.TERM && process.env.TERM.indexOf('color') >= 0);

exports.logger = function(module) {
var methods = {
'trace': { 'color': 32, 'priority': 1 },
'debug': { 'color': 34, 'priority': 2 },
'info': { 'color': 30, 'priority': 3 },
'warn': { 'color': 35, 'priority': 4 },
'error': { 'color': 31, 'priority': 5 }
'trace': { 'color': 32, 'priority': 1, 'error' : 0 },
'debug': { 'color': 34, 'priority': 2, 'error' : 0 },
'info': { 'color': 30, 'priority': 3, 'error' : 0 },
'warn': { 'color': 35, 'priority': 4, 'error' : 1 },
'error': { 'color': 31, 'priority': 5, 'error' : 1 }
};

var logLevel = logLevels[getClass(module)] || defaultLogLevel;
Expand All @@ -120,13 +111,18 @@ exports.logger = function(module) {
if (useColor) {
logger[level] = function(msg) {
if (methods[level].priority >= priority) {
util.puts('\x1B[' + methods[level].color + 'm' + getDate() + ' ' + levelStr + ' ' + getClass(module) +':' + getLine() + ' - ' + getMessage(arguments) + '\x1B[0m');
util.puts('\x1B[' + methods[level].color + 'm' + getDate() + ' ' + levelStr + ' ' + getClass(module) +':' + getLine() + ' - ' + util.format(arguments) + '\x1B[0m');
}
};
} else {
logger[level] = function(msg) {
if (methods[level].priority >= priority) {
util.puts(getDate() + ' ' + levelStr + ' ' + getClass(module) +':' + getLine() + ' - ' + getMessage(arguments));
if(methods[level].error) {
util.error(getDate() + ' ' + levelStr + ' ' + getClass(module) +':' + getLine() + ' - ' + util.format.apply(util,arguments));
}
else {
util.puts(getDate() + ' ' + levelStr + ' ' + getClass(module) +':' + getLine() + ' - ' + util.format.apply(util,arguments));
}
}
};
}
Expand Down