UNPKG

qlogger

Version:

very fast easily customizable logger

46 lines (35 loc) 1.34 kB
'use strict'; // nodejs, syslog and qlogger level names and loglevels var levels = { // none: -1, panic: 0, fatal: 1, crit: 2, error: 3, warn: 4, notice: 5, info: 6, debug: 7, trace: 8, all: 9, // emerg: 0, alert: 1, err: 3, warning: 4, panic: 0, emerg: 0, fatal: 1, alert: 1, crit: 2, error: 3, err: 3, warn: 4, warning: 4, notice: 5, info: 6, debug: 7, trace: 8, all: 9, none: -1, }; // level name lookup by level number, 3 => 'info' var names = []; Object.keys(levels).forEach(function(key) { var ix = levels[key]; names[ix] = names[ix] || key }); // uppercase, capitalized and numeric level names, 'INFO' => 3 for (var name in levels) levels[name.toUpperCase()] = levels[name]; for (var name in levels) levels[toFlat(name[0].toUpperCase() + name.slice(1).toLowerCase())] = levels[name]; for (var level in names) levels[String(level)] = Number(level); // manifest constants, LOG_INFO => 3 var constants = {}; for (var name in levels) if (isNaN(parseInt(name))) constants[toFlat('LOG_' + name.toUpperCase())] = levels[name]; module.exports = { levels: levels, names: names, constants: constants, }; function toStruct(o) { return toStruct.prototype = o } function toFlat(s) { var x = s | 0; return s } console.log("AR:", module.exports);