change approach again
This commit is contained in:
57
node_modules/simple-node-logger/lib/ConsoleAppender.js
generated
vendored
Normal file
57
node_modules/simple-node-logger/lib/ConsoleAppender.js
generated
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
/**
|
||||
* @class ConsoleAppender
|
||||
* @classdesc ConsoleAppender writes to the console all entries at or above the specified level.
|
||||
*
|
||||
* @author: darryl.west@raincitysoftware.com
|
||||
* @created: 7/6/14 12:02 PM
|
||||
*/
|
||||
const Logger = require('./Logger' );
|
||||
const AbstractAppender = require('./AbstractAppender' );
|
||||
|
||||
/*eslint no-console: "off"*/
|
||||
const ConsoleAppender = function(opts) {
|
||||
'use strict';
|
||||
|
||||
// get a copy of the opts
|
||||
const options = Object.assign({}, opts);
|
||||
|
||||
const appender = this;
|
||||
const typeName = options.typeName || 'ConsoleAppender';
|
||||
const writer = options.writer || console.log;
|
||||
|
||||
let level = options.level || Logger.STANDARD_LEVELS[0];
|
||||
let levels = options.levels || Logger.STANDARD_LEVELS;
|
||||
let currentLevel = levels.indexOf( level );
|
||||
|
||||
options.typeName = typeName;
|
||||
AbstractAppender.extend( this, options );
|
||||
|
||||
/**
|
||||
* default formatter for this appender;
|
||||
* @param entry
|
||||
*/
|
||||
this.formatter = function(entry) {
|
||||
const fields = appender.formatEntry( entry );
|
||||
|
||||
return fields.join( appender.separator );
|
||||
};
|
||||
|
||||
/**
|
||||
* call formatter then write the entry to the console output
|
||||
* @param entry - the log entry
|
||||
*/
|
||||
this.write = function(entry) {
|
||||
if (levels.indexOf( entry.level ) >= currentLevel) {
|
||||
writer( appender.formatter( entry ));
|
||||
}
|
||||
};
|
||||
|
||||
this.setLevel = function(level) {
|
||||
const idx = levels.indexOf( level );
|
||||
if (idx >= 0) {
|
||||
currentLevel = idx;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
module.exports = ConsoleAppender;
|
Reference in New Issue
Block a user