| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869 |
- var util = require('util')
- , log
- , _logger
- , _levels
- , _serialize
- , _output;
- _levels = {
- 'debug': 'log'
- , 'log' : 'log'
- , 'info': 'info'
- , 'notice': 'info'
- , 'warning': 'warn'
- , 'warn': 'warn'
- , 'error': 'error'
- , 'critical': 'error'
- , 'alert': 'error'
- , 'emergency': 'error'
- };
- _serialize = function (obj) {
- var out;
- if (typeof obj == 'string') {
- out = obj;
- }
- else {
- out = util.inspect(obj);
- }
- return out;
- };
- _output = function (obj, level) {
- var out = _serialize(obj);
- if (_logger) {
- _logger[level](out);
- }
- else {
- console[_levels[level]](out);
- }
- };
- log = function (obj) {
- _output(obj, 'info');
- };
- log.registerLogger = function (logger) {
- // Malkovitch, Malkovitch
- if (logger === log) {
- return;
- }
- _logger = logger;
- };
- (function () {
- var level;
- for (var p in _levels) {
- (function (p) {
- level = _levels[p];
- log[p] = function (obj) {
- _output(obj, p);
- };
- })(p);
- }
- // Also handle 'access', not an actual level
- log.access = log.info;
- })();
- module.exports = log;
|